type 'a t val empty : 'a t val singleton : 'a -> 'a t val from_list : 'a list -> 'a t val to_list : 'a t -> 'a list val insert : 'a -> 'a t -> 'a t val union : 'a t -> 'a t -> 'a t val remove : 'a -> 'a t -> 'a t val diff : 'a t -> 'a t -> 'a t val member : 'a -> 'a t -> bool