functor (M : Basic) ->
sig
type 'a monad = 'a M.t
val ( >>= ) : 'a monad -> ('a -> 'b monad) -> 'b monad
val ( >>| ) : 'a monad -> ('a -> 'b) -> 'b monad
module Monad_infix :
sig
type 'a monad = 'a monad
val ( >>= ) : 'a monad -> ('a -> 'b monad) -> 'b monad
val ( >>| ) : 'a monad -> ('a -> 'b) -> 'b monad
end
val bind : 'a monad -> ('a -> 'b monad) -> 'b monad
val return : 'a -> 'a monad
val map : 'a monad -> f:('a -> 'b) -> 'b monad
val join : 'a monad monad -> 'a monad
val ignore : 'a monad -> unit monad
end