sig
type t
val max_elt : Cis.t -> int
val min_elt : Cis.t -> int
val append : Cis.t -> Cis.t -> Cis.t
val empty : Cis.t
val is_empty : Cis.t -> bool
val cardinal : Cis.t -> int
val mem : int -> Cis.t -> bool
val singleton : int -> Cis.t
val add : int -> Cis.t -> Cis.t
val remove : int -> Cis.t -> Cis.t
val of_list : int list -> Cis.t
val union : Cis.t -> Cis.t -> Cis.t
val inter : Cis.t -> Cis.t -> Cis.t
val diff : Cis.t -> Cis.t -> Cis.t
val subset : Cis.t -> Cis.t -> bool
val equal : Cis.t -> Cis.t -> bool
val iter : (int -> unit) -> Cis.t -> unit
val fold_left : ('a -> int -> 'a) -> 'a -> Cis.t -> 'a
val fold_right : (int -> 'a -> 'a) -> Cis.t -> 'a -> 'a
val elements : Cis.t -> int list
end