sig   type t = int * Cis.t   val cardinal : 'a * '-> 'a   val empty : int * Cis.t   val mem : int -> 'a * Cis.t -> bool   val singleton : int -> int * Cis.t   val add : int -> int * Cis.t -> int * Cis.t   val remove : int -> int * Cis.t -> int * Cis.t   val union : 'a * Cis.t -> 'b * Cis.t -> int * Cis.t   val diff : 'a * Cis.t -> 'b * Cis.t -> int * Cis.t   val elements : 'a * Cis.t -> int list end