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