sig
type t
val empty : USet.t
val is_empty : USet.t -> bool
val mem : UChar.t -> USet.t -> bool
val add : UChar.t -> USet.t -> USet.t
val add_range : UChar.t -> UChar.t -> USet.t -> USet.t
val singleton : UChar.t -> USet.t
val remove : UChar.t -> USet.t -> USet.t
val remove_range : UChar.t -> UChar.t -> USet.t -> USet.t
val union : USet.t -> USet.t -> USet.t
val inter : USet.t -> USet.t -> USet.t
val diff : USet.t -> USet.t -> USet.t
val compl : USet.t -> USet.t
val compare : USet.t -> USet.t -> int
val equal : USet.t -> USet.t -> bool
val subset : USet.t -> USet.t -> bool
val from : UChar.t -> USet.t -> USet.t
val after : UChar.t -> USet.t -> USet.t
val until : UChar.t -> USet.t -> USet.t
val before : UChar.t -> USet.t -> USet.t
val iter : (UChar.t -> unit) -> USet.t -> unit
val iter_range : (UChar.t -> UChar.t -> unit) -> USet.t -> unit
val fold : (UChar.t -> 'a -> 'a) -> USet.t -> 'a -> 'a
val fold_range : (UChar.t -> UChar.t -> 'a -> 'a) -> USet.t -> 'a -> 'a
val for_all : (UChar.t -> bool) -> USet.t -> bool
val exists : (UChar.t -> bool) -> USet.t -> bool
val filter : (UChar.t -> bool) -> USet.t -> USet.t
val partition : (UChar.t -> bool) -> USet.t -> USet.t * USet.t
val cardinal : USet.t -> int
val elements : USet.t -> UChar.t list
val ranges : USet.t -> (UChar.t * UChar.t) list
val min_elt : USet.t -> UChar.t
val max_elt : USet.t -> UChar.t
val choose : USet.t -> UChar.t
val uset_of_iset : ISet.t -> USet.t
val iset_of_uset : USet.t -> ISet.t
end