sig   type elt = int   type t   val empty : Fcl_domain.t   val create : Fcl_domain.elt list -> Fcl_domain.t   val unsafe_create : Fcl_domain.elt list -> Fcl_domain.t   val interval : Fcl_domain.elt -> Fcl_domain.elt -> Fcl_domain.t   val int : Fcl_domain.t   val boolean : Fcl_domain.t   val is_empty : Fcl_domain.t -> bool   val size : Fcl_domain.t -> Fcl_domain.elt   val min : Fcl_domain.t -> Fcl_domain.elt   val max : Fcl_domain.t -> Fcl_domain.elt   val min_max : Fcl_domain.t -> Fcl_domain.elt * Fcl_domain.elt   val iter : (Fcl_domain.elt -> unit) -> Fcl_domain.t -> unit   val interval_iter :     (Fcl_domain.elt -> Fcl_domain.elt -> unit) -> Fcl_domain.t -> unit   val mem : Fcl_domain.elt -> Fcl_domain.t -> bool   val member : Fcl_domain.elt -> Fcl_domain.t -> bool   val values : Fcl_domain.t -> Fcl_domain.elt list   val fprint_elt : Pervasives.out_channel -> Fcl_domain.elt -> unit   val fprint : Pervasives.out_channel -> Fcl_domain.t -> unit   val sprint : Fcl_domain.t -> string   val included : Fcl_domain.t -> Fcl_domain.t -> bool   val smallest_geq : Fcl_domain.t -> Fcl_domain.elt -> Fcl_domain.elt   val greatest_leq : Fcl_domain.t -> Fcl_domain.elt -> Fcl_domain.elt   val largest_hole_around :     Fcl_domain.t -> Fcl_domain.elt -> Fcl_domain.elt * Fcl_domain.elt   val choose :     (Fcl_domain.elt -> Fcl_domain.elt -> bool) ->     Fcl_domain.t -> Fcl_domain.elt   val add : Fcl_domain.elt -> Fcl_domain.t -> Fcl_domain.t   val remove : Fcl_domain.elt -> Fcl_domain.t -> Fcl_domain.t   val remove_up : Fcl_domain.elt -> Fcl_domain.t -> Fcl_domain.t   val remove_low : Fcl_domain.elt -> Fcl_domain.t -> Fcl_domain.t   val remove_low_up :     Fcl_domain.elt -> Fcl_domain.elt -> Fcl_domain.t -> Fcl_domain.t   val remove_closed_inter :     Fcl_domain.elt -> Fcl_domain.elt -> Fcl_domain.t -> Fcl_domain.t   val remove_min : Fcl_domain.t -> Fcl_domain.t   val remove_max : Fcl_domain.t -> Fcl_domain.t   val intersection : Fcl_domain.t -> Fcl_domain.t -> Fcl_domain.t   val union : Fcl_domain.t -> Fcl_domain.t -> Fcl_domain.t   val difference : Fcl_domain.t -> Fcl_domain.t -> Fcl_domain.t   val diff : Fcl_domain.t -> Fcl_domain.t -> Fcl_domain.t   val minus : Fcl_domain.t -> Fcl_domain.t   val plus : Fcl_domain.t -> Fcl_domain.elt -> Fcl_domain.t   val times : Fcl_domain.t -> Fcl_domain.elt -> Fcl_domain.t   val compare : Fcl_domain.t -> Fcl_domain.t -> Fcl_domain.elt   val compare_elt : Fcl_domain.elt -> Fcl_domain.elt -> Fcl_domain.elt   val disjoint : Fcl_domain.t -> Fcl_domain.t -> bool   val strictly_inf : Fcl_domain.elt -> Fcl_domain.elt -> bool end