List.Assoctype ('a, 'b) t = ('a, 'b) Base.List.Assoc.tinclude Bin_prot.Binable.S2 with type ('a, 'b) t := ('a, 'b) tval bin_shape_t : Bin_prot.Shape.t -> Bin_prot.Shape.t -> Bin_prot.Shape.tval bin_size_t : ('a, 'b, ('a, 'b) t) Bin_prot.Size.sizer2val bin_write_t : ('a, 'b, ('a, 'b) t) Bin_prot.Write.writer2val bin_read_t : ('a, 'b, ('a, 'b) t) Bin_prot.Read.reader2val __bin_read_t__ : ('a, 'b, int -> ('a, 'b) t) Bin_prot.Read.reader2val bin_writer_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.writerval bin_reader_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.readerval bin_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.tval compare : ('a -> 'a -> Base.Int.t) -> ('b -> 'b -> Base.Int.t) -> ('a, 'b) t -> ('a, 'b) t -> Base.Int.tinclude module type of struct include Base.List.Assoc end with type ('a, 'b) t := ('a, 'b) tInterpret a list of (key, value) pairs as a map in which only the first occurrence of a key affects the semantics, i.e.:
List.Assoc.xxx alist ...args... is always the same as (or at least sort of isomorphic to):
Map.xxx (alist |> Map.of_alist_multi |> Map.map ~f:List.hd) ...args... include Base.Sexpable.S2 with type ('a, 'b) t := ('a, 'b) tval t_of_sexp : (Sexplib0.Sexp.t -> 'a) -> (Sexplib0.Sexp.t -> 'b) -> Sexplib0.Sexp.t -> ('a, 'b) tval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> ('b -> Sexplib0.Sexp.t) -> ('a, 'b) t -> Sexplib0.Sexp.tval find : ('a, 'b) t -> equal:('a -> 'a -> bool) -> 'a -> 'b optionval find_exn : ('a, 'b) t -> equal:('a -> 'a -> bool) -> 'a -> 'bval mem : ('a, 'b) t -> equal:('a -> 'a -> bool) -> 'a -> bool