Module type Univ_map_intf.S1

module type S1 = sig .. end

type 's t 
The 's parameter is shared across all values stored in the map.
type ('s, 'a) data 
val invariant : 'a t -> unit
val empty : 'a t
val is_empty : 'a t -> bool
val set : 's t ->
'a Key.t -> ('s, 'a) data -> 's t
val mem : 'a t -> 'b Key.t -> bool
val find : 's t -> 'a Key.t -> ('s, 'a) data option
val find_exn : 's t -> 'a Key.t -> ('s, 'a) data
val add : 's t ->
'a Key.t ->
('s, 'a) data ->
[ `Duplicate | `Ok of 's t ]
val add_exn : 's t ->
'a Key.t -> ('s, 'a) data -> 's t
val change : 's t ->
'a Key.t ->
(('s, 'a) data option ->
('s, 'a) data option) ->
's t
val change_exn : 's t ->
'a Key.t ->
(('s, 'a) data -> ('s, 'a) data) ->
's t
module Packed: sig .. end
val to_alist : 's t -> 's Packed.t list
val sexp_of_t : ('s -> Sexplib.Sexp.t) -> 's t -> Sexplib.Sexp.t