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
@Override
        public ExpressionEvaluator.Factory map(BinaryLogic bc, Layout layout) {
            var leftEval = toEvaluator(bc.left(), layout);
            var rightEval = toEvaluator(bc.right(), layout);
            /**
             * Evaluator for the <href a="https://en.wikipedia.org/wiki/Three-valued_logic">three-valued boolean expressions</href>.
             * We can't generate these with the {@link Evaluator} annotation because that
             * always implements viral null. And three-valued boolean expressions don't.
             * {@code false AND null} is {@code false} and {@code true OR null} is {@code true}.
             */
            record BooleanLogicExpressionEvaluator(BinaryLogic bl, ExpressionEvaluator leftEval, ExpressionEvaluator rightEval)
                implements
                    ExpressionEvaluator {
                @Override
                public Block.Ref eval(Page page) {
                    try (Block.Ref lhs = leftEval.eval(page); Block.Ref rhs = rightEval.eval(page)) {
                        Vector lhsVector = lhs.block().asVector();
                        Vector rhsVector = rhs.block().asVector();
                        if (lhsVector != null && rhsVector != null) {
                            return Block.Ref.floating(eval((BooleanVector) lhsVector, (BooleanVector) rhsVector));
                        }
                        return Block.Ref.floating(eval(lhs.block(), rhs.block()));
                    }
                }