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