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