Control.MonadPlus.Free
class
MonadFree
f m
data
Free
f a
retract
liftF
iter
iterM
hoistFree