Module type Monad.Monad
Extended monad function signatures
val return : 'a -> 'a tval bind : 'a t -> ('a -> 'b t) -> 'b tval (>>=) : 'a t -> ('a -> 'b t) -> 'b tval let* : 'a t -> ('a -> 'b t) -> 'b tval fmap : ('a -> 'b) -> 'a t -> 'b tval liftM : ('a -> 'b) -> 'a t -> 'b tval liftM2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c tval mapM : ('a -> 'b t) -> 'a list -> 'b list tval sequence : 'a t list -> 'a list t