union
union copied to clipboard
Pattern synonyms
U1, U2, U3, U4, ... U16 for Union OU1, OU2, OU3, OU4, ... OU16 for OpenUnion
Generate via TH, taking the amount as a parameter.
Type-indexed patterns:
f = OpenUnion '[Integer, Bool, Char] -> r
f = \case
OU (a :: Integer) -> ...
OU (b :: Bool) -> ...
OU (c :: Char) -> ...