base

Full standard library replacement for OCaml
IN THIS PACKAGE
val (>>=) : ( 'e, 'a ) t -> ( 'a -> ( 'e, 'b ) t ) -> ( 'e, 'b ) t
val (>>|) : ( 'e, 'a ) t -> ( 'a -> 'b ) -> ( 'e, 'b ) t
module Let_syntax : sig ... end
module Monad_infix : sig ... end

Same as Infix, except the monad type has two arguments. The second is always just passed through.

val bind : ( 'e, 'a ) t -> f:( 'a -> ( 'e, 'b ) t ) -> ( 'e, 'b ) t
val return : 'a -> ( _, 'a ) t
val map : ( 'e, 'a ) t -> f:( 'a -> 'b ) -> ( 'e, 'b ) t
val join : ( 'e, ( 'e, 'a ) t ) t -> ( 'e, 'a ) t
val ignore_m : ( 'e, _ ) t -> ( 'e, unit ) t
val all : ( 'e, 'a ) t list -> ( 'e, 'a list ) t
val all_unit : ( 'e, unit ) t list -> ( 'e, unit ) t