Via_bind.Req
type ('a, 'index) t
The type held by the Indexed Monad Plus.
Indexed Monad Plus
include Preface_specs.Indexed_monad.WITH_RETURN with type ('a, 'index) t := ('a, 'index) t
val return : 'a -> ('a, 'index) t
Lift a value into a t.
t
include Preface_specs.Indexed_bind.WITH_BIND with type ('a, 'index) t := ('a, 'index) t
val bind : ('a -> ('b, 'index) t) -> ('a, 'index) t -> ('b, 'index) t
bind f m passes the result of computation m to function f.
bind f m
m
f
val combine : ('a, 'index) t -> ('a, 'index) t -> ('a, 'index) t
Combine two values of t into one.
val neutral : ('a, 'index) t
The neutral element of the t.