Just got a bunch of instances of this suite timing out all on Windows agents. Could be a coincidence but seems unlikely.

**Build scan:**
https://gradle-enterprise.elastic.co/s/rvfpi7upehqjk/tests/:x-pack:plugin:esql:test/org.elasticsearch.xpack.esql.expression.function.scalar.nulls.CoalesceTests
**Reproduction line:**
```
null
```

**Applicable branches:**
main

**Reproduces locally?:**
Didn't try

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.xpack.esql.expression.function.scalar.nulls.CoalesceTests&tests.test=classMethod
**Failure excerpt:**
```
java.lang.Exception: Suite timeout exceeded (>= 2400000 msec).

  at __randomizedtesting.SeedInfo.seed([546AEE28130887AC]:0)

```
x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/AbstractFunctionTestCase.java
boolean firstTimeSeenSignature = uniqueSignatures.add(original.types());
            for (int nullPosition = 0; nullPosition < original.types().size(); nullPosition++) {
                int finalNullPosition = nullPosition;
                suppliers.add(new TestCaseSupplier(original.name() + " null in " + nullPosition, original.types(), () -> {
                    TestCaseSupplier.TestCase oc = original.get();
                    List<TestCaseSupplier.TypedData> data = IntStream.range(0, oc.getData().size()).mapToObj(i -> {
                        TestCaseSupplier.TypedData od = oc.getData().get(i);
                        if (i == finalNullPosition) {
                            return new TestCaseSupplier.TypedData(null, od.type(), od.name());
                        }
                        return od;
                    }).toList();
                    return new TestCaseSupplier.TestCase(
                        data,
                        oc.evaluatorToString,
                        oc.expectedType,
                        nullValue(),
                        null,
                        oc.getExpectedTypeError()
                    );
                }));
                if (firstTimeSeenSignature) {
                    List<DataType> typesWithNull = IntStream.range(0, original.types().size())
                        .mapToObj(i -> i == finalNullPosition ? DataTypes.NULL : original.types().get(i))
                        .toList();
                    boolean newSignature = uniqueSignatures.add(typesWithNull);
                    if (newSignature) {
                        suppliers.add(new TestCaseSupplier(typesWithNull, () -> {
                            TestCaseSupplier.TestCase oc = original.get();
                            List<TestCaseSupplier.TypedData> data = IntStream.range(0, oc.getData().size()).mapToObj(i -> {