Validator of a function call.
output type of the function
Validates a function call. If a condition is not met, an exception should be thrown (ideally, a FunctionException or subclass). Validation should not have any side effects.