Provides a range of natural transformations that can be derived from the natural transformation of a term
of an algebra into the desired Monad
Provides a range of natural transformations that can be derived from the natural transformation of a term
of an algebra into the desired Monad
The type of the Functor that represents the algebra to be interpreted
The Monad into which to translate the Free Algebra
Convenience transformation to inject into a coproduct and lift into Free.
Inject#inj as a natural transformation.
Free#liftF as a natural transformation
Given F[_] and S[_] such that F :<: S, returns a natural
transformation, S ~> G, where f is used to transform an F[_] and g
used otherwise.