Preface_make.Free_monad
Building a Preface_specs.Free_monad
Build a Preface_specs.FREE_MONAD
over a Preface_specs.FUNCTOR
.
module Over_functor
(F : Preface_specs.FUNCTOR) :
Preface_specs.FREE_MONAD with type 'a f = 'a F.t
Build a Preface_specs.FREE_MONAD
over a Preface_specs.APPLICATIVE
.
module Over_applicative
(F : Preface_specs.APPLICATIVE) :
Preface_specs.FREE_MONAD with type 'a f = 'a F.t
Build a Preface_specs.FREE_MONAD
over a Preface_specs.SELECTIVE
.
module Over_selective
(F : Preface_specs.SELECTIVE) :
Preface_specs.FREE_MONAD with type 'a f = 'a F.t
Build a Preface_specs.FREE_MONAD
over a Preface_specs.MONAD
.
module Over_monad
(F : Preface_specs.MONAD) :
Preface_specs.FREE_MONAD with type 'a f = 'a F.t