sig
  type _ t
  type (_, _) m
  val foldr_m :
    ('a -> 'b -> ('u, 'b) Foldable.M2.m) ->
    'b -> 'a Foldable.M2.t -> ('u, 'b) Foldable.M2.m
  val foldl_m :
    ('b -> 'a -> ('u, 'b) Foldable.M2.m) ->
    'b -> 'a Foldable.M2.t -> ('u, 'b) Foldable.M2.m
end