Some functions are defined as taking arguments of a specific type, but are still allowed to return null when given invalid types.
For instance the ceil() function returns null on invalid input in the original implementations.
This seems to contradict the blanket statement from the specification that:
“Function arguments have types. If an argument for a function has the wrong type, an invalid-type error will occur.”
JMESPath Community implementations enforce strict type checking as much as possible, unless a compliance test exists.
Please, consider reviewing type-checking and make it more consistent.
Maybe this should be documented in the compatibility section of the compliance test suite?