functor (M : MONAD->
  sig
    val sequence_m : 'M.t CCList.t -> 'CCList.t M.t
    val fold_m : ('-> '-> 'M.t) -> '-> 'CCList.t -> 'M.t
    val map_m : ('-> 'M.t) -> 'CCList.t -> 'CCList.t M.t
    val map_m_par : ('-> 'M.t) -> 'CCList.t -> 'CCList.t M.t
  end