Control.Functor.Composition
data CompF f g a
class Composition o
type :.:
data Comp p f g a b
type :++:
type :**: