Data.Functor.Compose
data Compose f g a