Control.Applicative.Free

data Ap f a

runAp

liftAp

hoistAp

retractAp