sig
  type t
  val empty : Int_set.t
  val to_string : Int_set.t -> string
  val add_range : Int_set.t -> int -> int -> Int_set.t
  val add : Int_set.t -> int -> Int_set.t
  val mem : Int_set.t -> int -> bool
  val ranges : Int_set.t -> (int * int) list
  val max : Int_set.t -> int option
  val min : Int_set.t -> int option
end