functor (M : MONAD->
  sig
    type +'a t
    val sequence_m : 'M.t CCCat.TRAVERSE.t -> 'CCCat.TRAVERSE.t M.t
    val fold_m : ('-> '-> 'M.t) -> '-> 'CCCat.TRAVERSE.t -> 'M.t
    val map_m :
      ('-> 'M.t) -> 'CCCat.TRAVERSE.t -> 'CCCat.TRAVERSE.t M.t
  end