### Elasticsearch Version

8.11.0

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

MacOS

### Problem Description

The following ESQL statement reports and unhandled error:

```
from index | eval round([1.2])
```

Returns the rror:
```
class_cast_exception - class java.util.ImmutableCollections$ListN cannot be cast to class java.lang.Number (java.util.ImmutableCollections$ListN and java.lang.Number are in module java.base of loader 'bootstrap')
```

### Steps to Reproduce

See above

### Logs (if relevant)

_No response_
x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/predicate/operator/arithmetic/SubTests.java
long lhs = (Long) randomLiteral(DataTypes.DATETIME).value();
            Duration rhs = (Duration) randomLiteral(EsqlDataTypes.TIME_DURATION).value();
            TestCaseSupplier.TestCase testCase = new TestCaseSupplier.TestCase(
                List.of(
                    new TestCaseSupplier.TypedData(lhs, DataTypes.DATETIME, "lhs"),
                    new TestCaseSupplier.TypedData(rhs, EsqlDataTypes.TIME_DURATION, "rhs")
                ),
                "SubDatetimesEvaluator[lhs=Attribute[channel=0], rhs=Attribute[channel=1]]",
                DataTypes.DATETIME,
                equalTo(asMillis(asDateTime(lhs).minus(rhs)))
            );
            return testCase;
        }), new TestCaseSupplier("Duration - Duration", () -> {
            Duration lhs = (Duration) randomLiteral(EsqlDataTypes.TIME_DURATION).value();
            Duration rhs = (Duration) randomLiteral(EsqlDataTypes.TIME_DURATION).value();
            return new TestCaseSupplier.TestCase(
                List.of(
                    new TestCaseSupplier.TypedData(lhs, EsqlDataTypes.TIME_DURATION, "lhs"),
                    new TestCaseSupplier.TypedData(rhs, EsqlDataTypes.TIME_DURATION, "rhs")
                ),
                "Only folding possible, so there's no evaluator",
                EsqlDataTypes.TIME_DURATION,
                equalTo(lhs.minus(rhs))
            );
        })));
    }
    @Override
    protected boolean supportsTypes(DataType lhsType, DataType rhsType) {
        return isDateTimeOrTemporal(lhsType) || isDateTimeOrTemporal(rhsType)
            ? isDateTime(lhsType) && isTemporalAmount(rhsType)