- Allows $project expressions to be written without convoluted $conds.
- If "case" does not return a boolean, the value will be coerced to a bool.
- Since each case does not have to be mutually exclusive, an input will enter the first branch it matches.
- 'branches' is missing or not an array with at least one entry.
- An entry in 'branches' does not contain 'case'
- An entry in 'branches' does not contain 'then'
- If 'default' is not specified, and an input doesn't match, an error will be thrown.