Data.MGeneric
type family f :$: as :: *
data Un s
data Field s
data In u ps
data InField f ps
type family ExpandField f ps :: *
type family ExpandFields f ps :: [*]
class MGeneric a