Module Js_parser.Flow_map

type ('k, 'v) t0 =
  1. | Empty
  2. | Leaf of {
    1. v : 'k;
    2. d : 'v;
    }
  3. | Node of {
    1. h : int;
    2. v : 'k;
    3. d : 'v;
    4. l : ('k, 'v) t0;
    5. r : ('k, 'v) t0;
    }
type ('k, 'v) partial_node = {
  1. h : int;
  2. v : 'k;
  3. d : 'v;
  4. l : ('k, 'v) t0;
  5. r : ('k, 'v) t0;
}
type ('k, 'v) leaf_tuple = 'k * 'v
val (~!!) : ('k, 'v) t0 -> ('k, 'v) leaf_tuple
val (~!) : ('k, 'v) t0 -> ('k, 'v) partial_node
val height : ('a, 'b) t0 -> int
val singleton : 'a -> 'b -> ('a, 'b) t0
val sorted_two_nodes_larger : ('a, 'b) t0 -> 'a -> 'b -> ('a, 'b) t0
val sorted_two_nodes_smaller : 'a -> 'b -> ('a, 'b) t0 -> ('a, 'b) t0
val create : ('a, 'b) t0 -> 'a -> 'b -> ('a, 'b) t0 -> ('a, 'b) t0
val of_increasing_iterator_unchecked : (unit -> 'a * 'b) -> int -> ('a, 'b) t0
val of_sorted_array_unchecked : ('a * 'b) array -> ('a, 'b) t0
val node : ('a, 'b) t0 -> 'a -> 'b -> ('a, 'b) t0 -> ('a, 'b) t0
val bal : ('a, 'b) t0 -> 'a -> 'b -> ('a, 'b) t0 -> ('a, 'b) t0
val empty : ('a, 'b) t0
val is_empty : ('a, 'b) t0 -> bool
type ('key, 'a) enumeration =
  1. | End
  2. | More of 'key * 'a * ('key, 'a) t0 * ('key, 'a) enumeration
val cons_enum : ('a, 'b) t0 -> ('a, 'b) enumeration -> ('a, 'b) enumeration
val min_binding : ('a, 'b) t0 -> ('a, 'b) leaf_tuple
val min_binding_from_node_unsafe : ('a, 'b) t0 -> ('a, 'b) leaf_tuple
val min_binding_opt : ('a, 'b) t0 -> ('a * 'b) option
val max_binding : ('a, 'b) t0 -> ('a, 'b) leaf_tuple
val max_binding_opt : ('a, 'b) t0 -> ('a * 'b) option
val remove_min_binding_from_node_unsafe : ('a, 'b) t0 -> ('a, 'b) t0
val add_min_node : ('a, 'b) t0 -> ('a, 'b) t0 -> ('a, 'b) t0
val add_min_binding : 'a -> 'b -> ('a, 'b) t0 -> ('a, 'b) t0
val add_max_node : ('a, 'b) t0 -> ('a, 'b) t0 -> ('a, 'b) t0
val add_max_binding : 'a -> 'b -> ('a, 'b) t0 -> ('a, 'b) t0
val internal_merge : ('a, 'b) t0 -> ('a, 'b) t0 -> ('a, 'b) t0
val join : ('a, 'b) t0 -> 'a -> 'b -> ('a, 'b) t0 -> ('a, 'b) t0
val concat : ('a, 'b) t0 -> ('a, 'b) t0 -> ('a, 'b) t0
val concat_or_join : ('a, 'b) t0 -> 'a -> 'b option -> ('a, 'b) t0 -> ('a, 'b) t0
val iter : ('a -> 'b -> unit) -> ('a, 'b) t0 -> unit
val map : ('a -> 'b) -> ('c, 'a) t0 -> ('c, 'b) t0
val mapi : ('a -> 'b -> 'c) -> ('a, 'b) t0 -> ('a, 'c) t0
val fold : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) t0 -> 'c -> 'c
val keys_aux : 'a list -> ('a, 'b) t0 -> 'a list
val keys : ('a, 'b) t0 -> 'a list
val ordered_keys : ('a, 'b) t0 -> 'a list
val for_all : ('a -> 'b -> bool) -> ('a, 'b) t0 -> bool
val exists : ('a -> 'b -> bool) -> ('a, 'b) t0 -> bool
val filter : ('a -> 'b -> bool) -> ('a, 'b) t0 -> ('a, 'b) t0
val cardinal : ('a, 'b) t0 -> int
val bindings_aux : ('a, 'b) leaf_tuple list -> ('a, 'b) t0 -> ('a, 'b) leaf_tuple list
val bindings : ('a, 'b) t0 -> ('a, 'b) leaf_tuple list
type ('k, 'v) t1 = ('k, 'v) t0 =
  1. | Empty
  2. | Leaf of {
    1. v : 'k;
    2. d : 'v;
    }
  3. | Node of {
    1. h : int;
    2. v : 'k;
    3. d : 'v;
    4. l : ('k, 'v) t0;
    5. r : ('k, 'v) t0;
    }
module type OrderedType = sig ... end
module type S = sig ... end
module Make (Ord : OrderedType) : S with type key = Ord.t