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