Guards

The if keyword can be used with case expressions to add a guard to a pattern. A guard is an expression that must evaluate to True for the pattern to match.

Only a limited set of operators can be used in guards, and functions cannot be called at all.