1 2 3 4 5 6
match x: case [a] | [a]: ... case (x, y) | (x, y): ... case (x, (y | y)): ... case [a, _] | [a, _]: ... case [a] | [C(a)]: ...