match 42:
case x, x:
pass
case x, (1 as x) | (2 as x):
pass
case [(1 as x) | (2 as x), x]:
pass
case [(1 as x) | (2 as x), (1 as x) | (2 as x)]:
pass
case ((1 as x) | (2 as x)) | (3 as x):
pass
case x, ((1 as x) | (2 as x)) | (3 as x):
pass
case (x, (1 as x) | (2 as x)) | (3 as x):
pass