module MakeFree (F : FUNCTOR) : FREE_MONAD with module F = F
(
F
:
FUNCTOR
)
FREE_MONAD
with module F = F
module F: CCCat.FUNCTOR
CCCat.FUNCTOR
type 'a t =
'a
|
Return of 'a
Roll of 'a t F.t
'a t F.t
include CCCat.MONAD
val inj : 'a F.t -> 'a t
'a F.t -> 'a t