sig
  type +'a t
  val return : '-> 'CCCat.MONAD_BARE.t
  val ( >>= ) :
    'CCCat.MONAD_BARE.t ->
    ('-> 'CCCat.MONAD_BARE.t) -> 'CCCat.MONAD_BARE.t
end