Some frequently used evaluables would benefit from having a negated variant for less complicated evaluation expressions (currently they need to be wrapped in an additional left with mode = not), such as:
- exists => notExists
- matchesRegex => notMatchesRegex
...and:
- nullOrEmpty (similar to fallback. Returns true when the value in left is either null or an empty string. This is sometimes useful when trying to act on a value from a query that may return NULL or an empty string)
Some other useful evaluables:
- includes (or maybe call it 'contains' like in Kotlin/Swift. Whether or not the string in "left" contains the substring in "right")
- nand (true when "left" and "right" are false)
..and transformations:
- upper (makes the string in "left" uppercase)
- lower (makes the string in "left" lowercase)
- trim (removes leading & trailing whitespace, or the chars in "right" if defined)