Unary.CreateUse module M = Create(B) to create a module that implements all the conventional interfaces of a monad.
Module inclusions from Cf_monad_core and Cf_seqmonad.
include Core.Unary.Profile with type 'r t := 'r B.tval return : 'r -> 'r B.tUse return a to apply the binding to a.
Use map m f to return the result of applying f to the value returned by m.
module Infix : Cf_monad_core.Unary.Infix with type 'r t := 'r B.tOpen Infix to include the infix monad operators.
include Cf_seqmonad.Functor.Unary with type 'r t := 'r B.tUse collect s to bind in sequence every monad value in the finite sequence s and collect all the returned values. Returns (n, s) where n is the number of values collected and s is the list of values in reverse order, i.e. from last collected to first collected. Never returns and exhausts all memory if s never terminates.