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