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