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