Control.Applicative.Trans.Free

data ApT f g a

data ApF f g a

liftApT

liftApO

runApT

runApF

runApT_

hoistApT

hoistApF

transApT

transApF

joinApT

Free Applicative

type Ap f

runAp

runAp_

retractAp

Free Alternative

type Alt f

runAlt