Monad.WITH_RETURN_AND_KLEISLI_COMPOSITION
Minimal definition using return and compose_left_to_right.
return
compose_left_to_right
type 'a t
The type held by the Monad.
Monad
include Indexed_monad.WITH_RETURN with type ('a, 'index) t := 'a t
val return : 'a -> 'a t
Lift a value into a t.
t
include Indexed_bind.WITH_KLEISLI_COMPOSITION with type ('a, 'index) t := 'a t
val compose_left_to_right : ('a -> 'b t) -> ('b -> 'c t) -> 'a -> 'c t
Composing monadic functions using Kleisli Arrow (from left to right).