no implicit fallthrough, need to match all possible cases (with or without a default), use where to check additional conditions
can accept ranges as cases
with Tuples: (_, 0) <- left is a wildcard case
can have ranges in Tuples too!
a case can bind a var
like
case let x: \\code
or
case (let x, 0): \\for a tuple
or
case let (x, y): \\ also for tuple