TypeFamilies
type family
G
a :: *
class
A
a
type family
F
a
g