sig
type elt = Main.Str.t
type t = Set.Make(Str).t
val empty : Main.StrSet.t
val is_empty : Main.StrSet.t -> bool
val mem : Main.StrSet.elt -> Main.StrSet.t -> bool
val add : Main.StrSet.elt -> Main.StrSet.t -> Main.StrSet.t
val singleton : Main.StrSet.elt -> Main.StrSet.t
val remove : Main.StrSet.elt -> Main.StrSet.t -> Main.StrSet.t
val union : Main.StrSet.t -> Main.StrSet.t -> Main.StrSet.t
val inter : Main.StrSet.t -> Main.StrSet.t -> Main.StrSet.t
val diff : Main.StrSet.t -> Main.StrSet.t -> Main.StrSet.t
val compare : Main.StrSet.t -> Main.StrSet.t -> int
val equal : Main.StrSet.t -> Main.StrSet.t -> bool
val subset : Main.StrSet.t -> Main.StrSet.t -> bool
val iter : (Main.StrSet.elt -> unit) -> Main.StrSet.t -> unit
val fold : (Main.StrSet.elt -> 'a -> 'a) -> Main.StrSet.t -> 'a -> 'a
val for_all : (Main.StrSet.elt -> bool) -> Main.StrSet.t -> bool
val exists : (Main.StrSet.elt -> bool) -> Main.StrSet.t -> bool
val filter : (Main.StrSet.elt -> bool) -> Main.StrSet.t -> Main.StrSet.t
val partition :
(Main.StrSet.elt -> bool) ->
Main.StrSet.t -> Main.StrSet.t * Main.StrSet.t
val cardinal : Main.StrSet.t -> int
val elements : Main.StrSet.t -> Main.StrSet.elt list
val min_elt : Main.StrSet.t -> Main.StrSet.elt
val max_elt : Main.StrSet.t -> Main.StrSet.elt
val choose : Main.StrSet.t -> Main.StrSet.elt
val split :
Main.StrSet.elt -> Main.StrSet.t -> Main.StrSet.t * bool * Main.StrSet.t
end