val singleton : Key.t -> 'a -> 'a tval of_alist : (Key.t * 'a) list -> [ `Duplicate_key of Key.t | `Ok of 'a t ]val of_alist_or_error : (Key.t * 'a) list -> 'a t Base__.Or_error.tval of_alist_exn : (Key.t * 'a) list -> 'a tval of_alist_multi : (Key.t * 'a) list -> 'a list tval of_alist_fold : 
  (Key.t * 'a) list ->
  init:'b ->
  f:( 'b -> 'a -> 'b ) ->
  'b tval of_alist_reduce : (Key.t * 'a) list -> f:( 'a -> 'a -> 'a ) -> 'a tval of_sorted_array : (Key.t * 'a) array -> 'a t Base__.Or_error.tval of_sorted_array_unchecked : (Key.t * 'a) array -> 'a tval of_increasing_iterator_unchecked : 
  len:int ->
  f:( int -> Key.t * 'a ) ->
  'a tval of_increasing_sequence : 
  (Key.t * 'a) Base__.Sequence.t ->
  'a t Base__.Or_error.tval of_sequence : 
  (Key.t * 'a) Base__.Sequence.t ->
  [ `Duplicate_key of Key.t | `Ok of 'a t ]val of_sequence_or_error : 
  (Key.t * 'a) Base__.Sequence.t ->
  'a t Base__.Or_error.tval of_sequence_exn : (Key.t * 'a) Base__.Sequence.t -> 'a tval of_sequence_multi : (Key.t * 'a) Base__.Sequence.t -> 'a list tval of_sequence_fold : 
  (Key.t * 'a) Base__.Sequence.t ->
  init:'b ->
  f:( 'b -> 'a -> 'b ) ->
  'b tval of_sequence_reduce : 
  (Key.t * 'a) Base__.Sequence.t ->
  f:( 'a -> 'a -> 'a ) ->
  'a tval of_iteri : 
  iteri:( f:( key:Key.t -> data:'v -> unit ) -> unit ) ->
  [ `Duplicate_key of Key.t | `Ok of 'v t ]val of_tree : 'a t -> 'a tval of_hashtbl_exn : ( Key.t, 'a ) Core_kernel__.Hashtbl.t -> 'a tval quickcheck_generator : 
  Key.t Core_kernel__.Quickcheck.Generator.t ->
  'a Core_kernel__.Quickcheck.Generator.t ->
  'a t Core_kernel__.Quickcheck.Generator.tval invariants : 'a t -> boolval is_empty : 'a t -> boolval add : 'a t -> key:Key.t -> data:'a -> 'a t Base__Map_intf.Or_duplicate.tval add_exn : 'a t -> key:Key.t -> data:'a -> 'a tval set : 'a t -> key:Key.t -> data:'a -> 'a tval add_multi : 'a list t -> key:Key.t -> data:'a -> 'a list tval remove_multi : 'a list t -> Key.t -> 'a list tval find_multi : 'a list t -> Key.t -> 'a listval change : 'a t -> Key.t -> f:( 'a option -> 'a option ) -> 'a tval update : 'a t -> Key.t -> f:( 'a option -> 'a ) -> 'a tval find : 'a t -> Key.t -> 'a optionval find_exn : 'a t -> Key.t -> 'aval mem : 'a t -> Key.t -> boolval iter_keys : 'a t -> f:( Key.t -> unit ) -> unitval iter : 'a t -> f:( 'a -> unit ) -> unitval iteri : 'a t -> f:( key:Key.t -> data:'a -> unit ) -> unitval iteri_until : 
  'a t ->
  f:( key:Key.t -> data:'a -> Base__Map_intf.Continue_or_stop.t ) ->
  Base__Map_intf.Finished_or_unfinished.tval iter2 : 
  'a t ->
  'b t ->
  f:
    ( key:Key.t ->
      data:[ `Both of 'a * 'b | `Left of 'a | `Right of 'b ] ->
      unit ) ->
  unitval map : 'a t -> f:( 'a -> 'b ) -> 'b tval mapi : 'a t -> f:( key:Key.t -> data:'a -> 'b ) -> 'b tval fold : 'a t -> init:'b -> f:( key:Key.t -> data:'a -> 'b -> 'b ) -> 'bval fold_right : 
  'a t ->
  init:'b ->
  f:( key:Key.t -> data:'a -> 'b -> 'b ) ->
  'bval fold2 : 
  'a t ->
  'b t ->
  init:'c ->
  f:
    ( key:Key.t ->
      data:[ `Both of 'a * 'b | `Left of 'a | `Right of 'b ] ->
      'c ->
      'c ) ->
  'cval filter_keys : 'a t -> f:( Key.t -> bool ) -> 'a tval filter : 'a t -> f:( 'a -> bool ) -> 'a tval filteri : 'a t -> f:( key:Key.t -> data:'a -> bool ) -> 'a tval filter_map : 'a t -> f:( 'a -> 'b option ) -> 'b tval filter_mapi : 'a t -> f:( key:Key.t -> data:'a -> 'b option ) -> 'b tval partition_mapi : 
  'a t ->
  f:( key:Key.t -> data:'a -> ( 'b, 'c ) Base__.Either.t ) ->
  'b t * 'c tval partition_map : 
  'a t ->
  f:( 'a -> ( 'b, 'c ) Base__.Either.t ) ->
  'b t * 'c tval partitioni_tf : 'a t -> f:( key:Key.t -> data:'a -> bool ) -> 'a t * 'a tval partition_tf : 'a t -> f:( 'a -> bool ) -> 'a t * 'a tval combine_errors : 'a Base__.Or_error.t t -> 'a t Base__.Or_error.tval compare_direct : ( 'a -> 'a -> int ) -> 'a t -> 'a t -> intval equal : ( 'a -> 'a -> bool ) -> 'a t -> 'a t -> boolval data : 'a t -> 'a listval to_alist : 
  ?key_order:[ `Decreasing | `Increasing ] ->
  'a t ->
  (Key.t * 'a) listval validate : 
  name:( Key.t -> string ) ->
  'a Base__.Validate.check ->
  'a t Base__.Validate.checkval validatei : 
  name:( Key.t -> string ) ->
  (Key.t * 'a) Base__.Validate.check ->
  'a t Base__.Validate.checkval merge : 
  'a t ->
  'b t ->
  f:
    ( key:Key.t ->
      [ `Both of 'a * 'b | `Left of 'a | `Right of 'b ] ->
      'c option ) ->
  'c tval symmetric_diff : 
  'a t ->
  'a t ->
  data_equal:( 'a -> 'a -> bool ) ->
  ( Key.t, 'a ) Base__Map_intf.Symmetric_diff_element.t Base__.Sequence.tval fold_symmetric_diff : 
  'a t ->
  'a t ->
  data_equal:( 'a -> 'a -> bool ) ->
  init:'c ->
  f:( 'c -> ( Key.t, 'a ) Base__Map_intf.Symmetric_diff_element.t -> 'c ) ->
  'cval min_elt : 'a t -> (Key.t * 'a) optionval min_elt_exn : 'a t -> Key.t * 'aval max_elt : 'a t -> (Key.t * 'a) optionval max_elt_exn : 'a t -> Key.t * 'aval for_all : 'a t -> f:( 'a -> bool ) -> boolval for_alli : 'a t -> f:( key:Key.t -> data:'a -> bool ) -> boolval exists : 'a t -> f:( 'a -> bool ) -> boolval existsi : 'a t -> f:( key:Key.t -> data:'a -> bool ) -> boolval count : 'a t -> f:( 'a -> bool ) -> intval counti : 'a t -> f:( key:Key.t -> data:'a -> bool ) -> intval append : 
  lower_part:'a t ->
  upper_part:'a t ->
  [ `Ok of 'a t | `Overlapping_key_ranges ]val subrange : 
  'a t ->
  lower_bound:Key.t Base__.Maybe_bound.t ->
  upper_bound:Key.t Base__.Maybe_bound.t ->
  'a tval fold_range_inclusive : 
  'a t ->
  min:Key.t ->
  max:Key.t ->
  init:'b ->
  f:( key:Key.t -> data:'a -> 'b -> 'b ) ->
  'bval closest_key : 
  'a t ->
  [ `Greater_or_equal_to | `Greater_than | `Less_or_equal_to | `Less_than ] ->
  Key.t ->
  (Key.t * 'a) optionval nth : 'a t -> int -> (Key.t * 'a) optionval nth_exn : 'a t -> int -> Key.t * 'aval rank : 'a t -> Key.t -> int optionval to_tree : 'a t -> 'a tval to_sequence : 
  ?order:[ `Decreasing_key | `Increasing_key ] ->
  ?keys_greater_or_equal_to:Key.t ->
  ?keys_less_or_equal_to:Key.t ->
  'a t ->
  (Key.t * 'a) Base__.Sequence.tval binary_search : 
  'a t ->
  compare:( key:Key.t -> data:'a -> 'key -> int ) ->
  [ `First_equal_to
  | `First_greater_than_or_equal_to
  | `First_strictly_greater_than
  | `Last_equal_to
  | `Last_less_than_or_equal_to
  | `Last_strictly_less_than ] ->
  'key ->
  (Key.t * 'a) optionval binary_search_segmented : 
  'a t ->
  segment_of:( key:Key.t -> data:'a -> [ `Left | `Right ] ) ->
  [ `First_on_right | `Last_on_left ] ->
  (Key.t * 'a) optionval quickcheck_observer : 
  Key.t Core_kernel__.Quickcheck.Observer.t ->
  'v Core_kernel__.Quickcheck.Observer.t ->
  'v t Core_kernel__.Quickcheck.Observer.tval quickcheck_shrinker : 
  Key.t Core_kernel__.Quickcheck.Shrinker.t ->
  'v Core_kernel__.Quickcheck.Shrinker.t ->
  'v t Core_kernel__.Quickcheck.Shrinker.tval t_of_sexp : ( Sexplib0__.Sexp.t -> 'a ) -> Sexplib0__.Sexp.t -> 'a tval sexp_of_t : ( 'a -> Sexplib0__.Sexp.t ) -> 'a t -> Sexplib0__.Sexp.t