sig   type t   val empty : Facile.SetDomain.S.t   val is_empty : Facile.SetDomain.S.t -> bool   val mem : int -> Facile.SetDomain.S.t -> bool   val add : int -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t   val singleton : int -> Facile.SetDomain.S.t   val remove : int -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t   val union :     Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t   val inter :     Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t   val diff :     Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t   val compare : Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> int   val equal : Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> bool   val subset : Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> bool   val iter : (int -> unit) -> Facile.SetDomain.S.t -> unit   val cardinal : Facile.SetDomain.S.t -> int   val elements : Facile.SetDomain.S.t -> int list   val min_elt : Facile.SetDomain.S.t -> int   val max_elt : Facile.SetDomain.S.t -> int   val choose : Facile.SetDomain.S.t -> int   val remove_up : int -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t   val remove_low : int -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t end