`functor (K : Key) (V : Value) ->
sig
type t
val empty : t
val of_alist : (K.t * V.t) list -> t
val to_alist : t -> (K.t * V.t) list
val of_aarray : (K.t * V.t) array -> t
val of_sorted_aarray : (K.t * V.t) array -> t
val of_hashtbl : (K.t, V.t) Core.Std.Hashtbl.t -> t
val find : t -> K.t -> V.t option
val mem : t -> K.t -> bool
val iter : t -> f:(key:K.t -> data:V.t -> unit) -> unit
val fold :
t -> init:'acc -> f:(key:K.t -> data:V.t -> 'acc -> 'acc) -> 'acc
val bin_t : t Core.Std.Bin_prot.Type_class.t
val bin_read_t : t Core.Std.Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Core.Std.Bin_prot.Read.reader
val bin_reader_t : t Core.Std.Bin_prot.Type_class.reader
val bin_size_t : t Core.Std.Bin_prot.Size.sizer
val bin_write_t : t Core.Std.Bin_prot.Write.writer
val bin_writer_t : t Core.Std.Bin_prot.Type_class.writer
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val bin_key : K.t Core.Std.Bin_prot.Type_class.t
val bin_read_key : K.t Core.Std.Bin_prot.Read.reader
val __bin_read_key__ : (int -> K.t) Core.Std.Bin_prot.Read.reader
val bin_reader_key : K.t Core.Std.Bin_prot.Type_class.reader
val bin_size_key : K.t Core.Std.Bin_prot.Size.sizer
val bin_write_key : K.t Core.Std.Bin_prot.Write.writer
val bin_writer_key : K.t Core.Std.Bin_prot.Type_class.writer
val key_of_sexp : Sexplib.Sexp.t -> K.t
val sexp_of_key : K.t -> Sexplib.Sexp.t
val bin_value : V.t Core.Std.Bin_prot.Type_class.t
val bin_read_value : V.t Core.Std.Bin_prot.Read.reader
val __bin_read_value__ : (int -> V.t) Core.Std.Bin_prot.Read.reader
val bin_reader_value : V.t Core.Std.Bin_prot.Type_class.reader
val bin_size_value : V.t Core.Std.Bin_prot.Size.sizer
val bin_write_value : V.t Core.Std.Bin_prot.Write.writer
val bin_writer_value : V.t Core.Std.Bin_prot.Type_class.writer
val value_of_sexp : Sexplib.Sexp.t -> V.t
val sexp_of_value : V.t -> Sexplib.Sexp.t
end`