type +'a t
val is_empty : _ t -> bool
val empty : 'a t
val add : 'a t -> 'a var -> 'a t
val mem : 'a t -> 'a var -> bool
val find : 'a t -> ID.t -> 'a var option
val find_exn : 'a t -> ID.t -> 'a var
val diff : 'a t -> 'a t -> 'a t
val of_iter : 'a var Iter.t -> 'a t
val to_iter : 'a t -> 'a var Iter.t
val add_seq : 'a t -> 'a var Iter.t -> 'a t
val add_list : 'a t -> 'a var list -> 'a t
val to_list : 'a t -> 'a var list
val of_list : 'a var list -> 'a t
val intersection_empty : 'a t -> 'a t -> bool
val cardinal : _ t -> int
val pp : _ t CCFormat.printer