|(when expr expr)|
The first expr (known as the “test” expression) is evaluated. If it evaluates to true, the result of the when expression is the result of evaluating the second expr, otherwise the result is (void) and the second expr is not evaluated. If the result of evaluating the test expr is neither true nor false, it is an error.
|(unless expr expr)|