Module Js_parser.Flow_set

module type OrderedType = sig ... end
module type S = sig ... end
type 'elt t0 =
  1. | Empty
  2. | Leaf of 'elt
  3. | Node of {
    1. h : int;
    2. v : 'elt;
    3. l : 'elt t0;
    4. r : 'elt t0;
    }
type 'elt partial_node = {
  1. h : int;
  2. v : 'elt;
  3. l : 'elt t0;
  4. r : 'elt t0;
}
val (~!) : 'elt t0 -> 'elt partial_node
type ('elt, 't) enumeration0 =
  1. | End
  2. | More of 'elt * 't * ('elt, 't) enumeration0
val cons_enum : 'a t0 -> ('b, 'c t0) enumeration0 -> ('b, 'c t0) enumeration0
val seq_of_enum_ : ('a, 'b t0) enumeration0 -> 'c Seq.t
val to_seq : 'a t0 -> 'b Seq.t
val height : 'a t0 -> int
val singleton : 'a -> 'b t0
val unsafe_node : l:'a t0 -> v:'b -> r:'c t0 -> 'd t0
val create : 'a t0 -> 'b -> 'c t0 -> 'd t0
val of_increasing_iterator_unchecked : (unit -> 'a) -> int -> 'b t0
val of_sorted_array_unchecked : 'a array -> 'b t0
val bal : 'a t0 -> 'b -> 'a t0 -> 'c t0
val add_min_element : 'a -> 'b t0 -> 'c t0
val add_max_element : 'a -> 'b t0 -> 'c t0
val join : 'a t0 -> 'b -> 'a t0 -> 'c t0
val min_elt : 'a t0 -> 'b
val min_elt_opt : 'a t0 -> 'b option
val max_elt : 'a t0 -> 'b
val max_elt_opt : 'a t0 -> 'b option
val remove_min_elt : 'a t0 -> 'b t0
val merge : 'a t0 -> 'a t0 -> 'a t0
val concat : 'a t0 -> 'a t0 -> 'a t0
val cardinal : 'a t0 -> int
val elements_aux : 'a list -> 'b t0 -> 'a list
val elements : 'a t0 -> 'a list
val empty : 'a t0
val is_empty : 'a t0 -> bool
val of_sorted_list : 'a list -> 'a t0
type 'a t1 = private 'a t0 =
  1. | Empty
  2. | Leaf of 'a
  3. | Node of {
    1. h : int;
    2. v : 'a;
    3. l : 'a t0;
    4. r : 'a t0;
    }
module Make (Ord : OrderedType) : S with type elt = Ord.t