sig
  type 'a t
  val init : 'a Fold_map.Foldable2.t
  val f : 'a Fold_map.Foldable2.t -> 'a -> 'a Fold_map.Foldable2.t
end