sig
  val iter : f:(BatSet.S.elt -> unit) -> BatSet.S.t -> unit
  val fold : f:(BatSet.S.elt -> '-> 'a) -> BatSet.S.t -> init:'-> 'a
  val for_all : f:(BatSet.S.elt -> bool) -> BatSet.S.t -> bool
  val exists : f:(BatSet.S.elt -> bool) -> BatSet.S.t -> bool
  val map : f:(BatSet.S.elt -> BatSet.S.elt) -> BatSet.S.t -> BatSet.S.t
  val filter : f:(BatSet.S.elt -> bool) -> BatSet.S.t -> BatSet.S.t
  val filter_map :
    f:(BatSet.S.elt -> BatSet.S.elt option) -> BatSet.S.t -> BatSet.S.t
  val partition :
    f:(BatSet.S.elt -> bool) -> BatSet.S.t -> BatSet.S.t * BatSet.S.t
end