Control.Applicative.Free

data Ap f a

runAp

runAp_

liftAp

hoistAp

retractAp

Examples