Creates a type-checked case definition with a guard.
Creates a type-checked case definition with a guard.
Must be a valid pattern.
Must be a boolean expression (has access to bindings in pattern).
Must be a term.
case pattern if guard => body.
Creates a type-checked case definition without a guard.
Creates a type-checked case definition without a guard.
Must be a valid pattern.
Must be a term.
case pattern => body.
Pattern match cases.