Data.Open.Union
type family Members m r :: Constraint where ...
data Union r v
class Member t r
decomp
weaken
extract
class Functor f