A query like 
```
from employees | eval foldable = \"foo,bar\" | eval x = split(foldable, \",\")
```

where the `split()` function is applied to a foldable attribute, throws IllegalArgumentException `Block does not have same position count`

The same expression applied to non-foldable attributes seems to work fine eg.

```
from employees | project first_name |  eval x = split(first_name, \"e\")
```

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/evaluator/EvalMapper.java
private static final List<ExpressionMapper<?>> MAPPERS = List.of(
        ComparisonMapper.EQUALS,
        ComparisonMapper.NOT_EQUALS,
        ComparisonMapper.GREATER_THAN,
        ComparisonMapper.GREATER_THAN_OR_EQUAL,
        ComparisonMapper.LESS_THAN,
        ComparisonMapper.LESS_THAN_OR_EQUAL,
        InMapper.IN_MAPPER,
        RegexMapper.REGEX_MATCH,
        new BooleanLogic(),
        new Nots(),
        new Attributes(),
        new Literals(),
        new IsNotNulls(),
        new IsNulls()
    );
    private EvalMapper() {}
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public static ExpressionEvaluator.Factory toEvaluator(Expression exp, Layout layout) {
        if (exp instanceof EvaluatorMapper m) {
            return m.toEvaluator(e -> toEvaluator(e, layout));
        }
        for (ExpressionMapper em : MAPPERS) {
            if (em.typeToken.isInstance(exp)) {
                return em.map(exp, layout);
            }
        }
        throw new QlIllegalArgumentException("Unsupported expression [{}]", exp);
    }
    static class BooleanLogic extends ExpressionMapper<BinaryLogic> {