`sig type 'a t type 'a enumerable = 'a t type 'a mappable = 'a t val empty : 'a BatSet.PSet.t val create : ('a -> 'a -> int) -> 'a BatSet.PSet.t val is_empty : 'a BatSet.PSet.t -> bool val singleton : ?cmp:('a -> 'a -> int) -> 'a -> 'a BatSet.PSet.t val mem : 'a -> 'a BatSet.PSet.t -> bool val find : 'a -> 'a BatSet.PSet.t -> 'a val add : 'a -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val remove : 'a -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val update : 'a -> 'a -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val union : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val intersect : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val diff : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val sym_diff : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val compare : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> int val equal : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> bool val subset : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> bool val disjoint : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> bool val iter : ('a -> unit) -> 'a BatSet.PSet.t -> unit val at_rank_exn : int -> 'a BatSet.PSet.t -> 'a val map : ('a -> 'b) -> 'a BatSet.PSet.t -> 'b BatSet.PSet.t val filter : ('a -> bool) -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val filter_map : ('a -> 'b option) -> 'a BatSet.PSet.t -> 'b BatSet.PSet.t val fold : ('a -> 'b -> 'b) -> 'a BatSet.PSet.t -> 'b -> 'b val exists : ('a -> bool) -> 'a BatSet.PSet.t -> bool val for_all : ('a -> bool) -> 'a BatSet.PSet.t -> bool val partition : ('a -> bool) -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t * 'a BatSet.PSet.t val split : 'a -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t * bool * 'a BatSet.PSet.t val split_opt : 'a -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t * 'a option * 'a BatSet.PSet.t val split_lt : 'a -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t * 'a BatSet.PSet.t val split_le : 'a -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t * 'a BatSet.PSet.t val cardinal : 'a BatSet.PSet.t -> int val elements : 'a BatSet.PSet.t -> 'a list val to_list : 'a BatSet.PSet.t -> 'a list val to_array : 'a BatSet.PSet.t -> 'a array val min_elt : 'a BatSet.PSet.t -> 'a val pop_min : 'a BatSet.PSet.t -> 'a * 'a BatSet.PSet.t val pop_max : 'a BatSet.PSet.t -> 'a * 'a BatSet.PSet.t val max_elt : 'a BatSet.PSet.t -> 'a val choose : 'a BatSet.PSet.t -> 'a val pop : 'a BatSet.PSet.t -> 'a * 'a BatSet.PSet.t val enum : 'a BatSet.PSet.t -> 'a BatEnum.t val of_enum : 'a BatEnum.t -> 'a BatSet.PSet.t val of_enum_cmp : cmp:('a -> 'a -> int) -> 'a BatEnum.t -> 'a BatSet.PSet.t val of_list : 'a list -> 'a BatSet.PSet.t val of_array : 'a array -> 'a BatSet.PSet.t val print : ?first:string -> ?last:string -> ?sep:string -> ('a BatInnerIO.output -> 'c -> unit) -> 'a BatInnerIO.output -> 'c BatSet.PSet.t -> unit module Infix : sig val ( <-- ) : 'a BatSet.PSet.t -> 'a -> 'a BatSet.PSet.t val ( <. ) : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> bool val ( >. ) : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> bool val ( <=. ) : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> bool val ( >=. ) : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> bool val ( -. ) : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val ( &&. ) : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t val ( ||. ) : 'a BatSet.PSet.t -> 'a BatSet.PSet.t -> 'a BatSet.PSet.t end val get_cmp : 'a BatSet.PSet.t -> 'a -> 'a -> int end`