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.