functor (M : Map.S->
  sig
    val union : ('-> '-> 'a) -> 'M.t -> 'M.t -> 'M.t
    val forall :
      (M.key -> '-> Region.Create.F.pred) -> 'M.t -> Region.Create.F.pred
    val exists :
      (M.key -> '-> Region.Create.F.pred) -> 'M.t -> Region.Create.F.pred
  end