match x:
case [a] | [b]: ...
case [a] | []: ...
case (x, y) | (x,): ...
case [a, _] | [a, b]: ...
case (x, (y | z)): ...
case [a] | [b] | [c]: ...
case [] | [a]: ...
case [a] | [C(x)]: ...
case [[a] | [b]]: ...
case [C(a)] | [C(b)]: ...
case [C(D(a))] | [C(D(b))]: ...
case [(a, b)] | [(c, d)]: ...