sig
type ('a, 'b) monad = ('a, 'b) Core.Std.Result.t
val ( >>= ) : ('a, 'b) monad -> ('a -> ('c, 'b) monad) -> ('c, 'b) monad
val ( >>| ) : ('a, 'b) monad -> ('a -> 'c) -> ('c, 'b) monad
module Monad_infix :
sig
type ('a, 'b) monad = ('a, 'b) monad
val ( >>= ) :
('a, 'b) monad -> ('a -> ('c, 'b) monad) -> ('c, 'b) monad
val ( >>| ) : ('a, 'b) monad -> ('a -> 'c) -> ('c, 'b) monad
end
val bind : ('a, 'b) monad -> ('a -> ('c, 'b) monad) -> ('c, 'b) monad
val return : 'a -> ('a, 'b) monad
val map : ('a, 'b) monad -> f:('a -> 'c) -> ('c, 'b) monad
val join : (('a, 'b) monad, 'b) monad -> ('a, 'b) monad
val ignore : ('a, 'b) monad -> (unit, 'b) monad
end