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