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