Function call expression that evaluates to a boolean value. Selector parsing requires BooleanExpression objects for
Boolean expressions, such as operands to AND, and as the final result of a selector. This provides that interface
for function call expressions that resolve to Boolean values.

If a function can return different types at evaluation-time, the function implementation needs to decide whether it
supports casting to Boolean at parse-time.