GHC.InOut
class
InOut
a
type family
Flatten
f :: *
type
F
a
class
ToFromRep
f