Invoked much like match, except each condition must be a parser, which is
executed, and the corresponding arm is executed only if the parser succeeds.
Once a condition succeeds, no other condition is executed.
The core attribute macro. Can only be applied to free functions with at
least one parameter and a return value. To typecheck, the free function must
meet the following typing requirements: