Functor These.Make

module Make: 
functor (S : Semigroup.S) -> Monad.S with type 'a t = (S.t, 'a) t

Monad instance requires Semigroup to combine Left values

Parameters:
S : Semigroup.S

type '_ t 
include Monad.Basic
include Applicative.S
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val join : 'a t t -> 'a t
val mcompose : ('b -> 'c t) -> ('a -> 'b t) -> 'a -> 'c t