sig type 'a t val return : 'a -> 'a CCListLabels.MONAD.t val ( >>= ) : 'a CCListLabels.MONAD.t -> ('a -> 'b CCListLabels.MONAD.t) -> 'b CCListLabels.MONAD.t end