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