Module Js_parser.Flow_map
type t0('k, 'v) = | Empty| Leaf of {v: 'k,d: 'v,
}| Node of {h: int,v: 'k,d: 'v,l: t0('k, 'v),r: t0('k, 'v),
}
;type partial_node('k, 'v) = {h: int,v: 'k,d: 'v,l: t0('k, 'v),r: t0('k, 'v),
};type leaf_tuple('k, 'v) = ('k, 'v);let height: t0('a, 'b) => int;let singleton: 'a => 'b => t0('a, 'b);let sorted_two_nodes_larger: t0('a, 'b) => 'a => 'b => t0('a, 'b);let sorted_two_nodes_smaller: 'a => 'b => t0('a, 'b) => t0('a, 'b);let create: t0('a, 'b) => 'a => 'b => t0('a, 'b) => t0('a, 'b);let of_increasing_iterator_unchecked: (unit => ('a, 'b)) => int => t0('a, 'b);let of_sorted_array_unchecked: array(('a, 'b)) => t0('a, 'b);let node: t0('a, 'b) => 'a => 'b => t0('a, 'b) => t0('a, 'b);let bal: t0('a, 'b) => 'a => 'b => t0('a, 'b) => t0('a, 'b);let is_empty: t0('a, 'b) => bool;type enumeration('key, 'a) = | End| More('key, 'a, t0('key, 'a), enumeration('key, 'a))
;let min_binding_from_node_unsafe: t0('a, 'b) => leaf_tuple('a, 'b);let min_binding_opt: t0('a, 'b) => option(('a, 'b));let max_binding_opt: t0('a, 'b) => option(('a, 'b));let remove_min_binding_from_node_unsafe: t0('a, 'b) => t0('a, 'b);let add_min_node: t0('a, 'b) => t0('a, 'b) => t0('a, 'b);let add_min_binding: 'a => 'b => t0('a, 'b) => t0('a, 'b);let add_max_node: t0('a, 'b) => t0('a, 'b) => t0('a, 'b);let add_max_binding: 'a => 'b => t0('a, 'b) => t0('a, 'b);let internal_merge: t0('a, 'b) => t0('a, 'b) => t0('a, 'b);let join: t0('a, 'b) => 'a => 'b => t0('a, 'b) => t0('a, 'b);let concat: t0('a, 'b) => t0('a, 'b) => t0('a, 'b);let concat_or_join: t0('a, 'b) => 'a => option('b) => t0('a, 'b) => t0('a, 'b);let iter: ('a => 'b => unit) => t0('a, 'b) => unit;let map: ('a => 'b) => t0('c, 'a) => t0('c, 'b);let mapi: ('a => 'b => 'c) => t0('a, 'b) => t0('a, 'c);let fold: ('a => 'b => 'c => 'c) => t0('a, 'b) => 'c => 'c;let keys_aux: list('a) => t0('a, 'b) => list('a);let keys: t0('a, 'b) => list('a);let ordered_keys: t0('a, 'b) => list('a);let for_all: ('a => 'b => bool) => t0('a, 'b) => bool;let exists: ('a => 'b => bool) => t0('a, 'b) => bool;let filter: ('a => 'b => bool) => t0('a, 'b) => t0('a, 'b);let cardinal: t0('a, 'b) => int;type t1('k, 'v) = t0('k, 'v) = | Empty| Leaf of {v: 'k,d: 'v,
}| Node of {h: int,v: 'k,d: 'v,l: t0('k, 'v),r: t0('k, 'v),
}
;