Parameters
Signature
val (>>=) : 
  ( 'a, 'd, 'e ) X.t ->
  ( 'a -> ( 'b, 'd, 'e ) X.t ) ->
  ( 'b, 'd, 'e ) X.tval (>>|) : ( 'a, 'd, 'e ) X.t -> ( 'a -> 'b ) -> ( 'b, 'd, 'e ) X.tval bind : 
  ( 'a, 'd, 'e ) X.t ->
  f:( 'a -> ( 'b, 'd, 'e ) X.t ) ->
  ( 'b, 'd, 'e ) X.tval return : 'a -> ( 'a, _, _ ) X.tval map : ( 'a, 'd, 'e ) X.t -> f:( 'a -> 'b ) -> ( 'b, 'd, 'e ) X.tval join : ( ( 'a, 'd, 'e ) X.t, 'd, 'e ) X.t -> ( 'a, 'd, 'e ) X.tval ignore_m : ( _, 'd, 'e ) X.t -> ( unit, 'd, 'e ) X.tval all : ( 'a, 'd, 'e ) X.t list -> ( 'a list, 'd, 'e ) X.tval all_unit : ( unit, 'd, 'e ) X.t list -> ( unit, 'd, 'e ) X.t