data Free : ((Type -> Type) -> Type -> Type) -> Type -> TypeHigher-order free monad.
Acts as a syntax generator of effectful programs.
return : a -> Free sig ainject : Inj sub sup => sub (Free sup) a -> Free sup aproject : Prj sup sub => Free sup a -> Maybe (sub (Free sup) a)