`sig
type 's t
type ('s, 'a) data
val invariant : 'a Univ_map_intf.S1.t -> unit
val empty : 'a Univ_map_intf.S1.t
val is_empty : 'a Univ_map_intf.S1.t -> bool
val set :
's Univ_map_intf.S1.t ->
'a Key.t -> ('s, 'a) Univ_map_intf.S1.data -> 's Univ_map_intf.S1.t
val mem : 'a Univ_map_intf.S1.t -> 'b Key.t -> bool
val find :
's Univ_map_intf.S1.t ->
'a Key.t -> ('s, 'a) Univ_map_intf.S1.data option
val find_exn :
's Univ_map_intf.S1.t -> 'a Key.t -> ('s, 'a) Univ_map_intf.S1.data
val add :
's Univ_map_intf.S1.t ->
'a Key.t ->
('s, 'a) Univ_map_intf.S1.data ->
[ `Duplicate | `Ok of 's Univ_map_intf.S1.t ]
val add_exn :
's Univ_map_intf.S1.t ->
'a Key.t -> ('s, 'a) Univ_map_intf.S1.data -> 's Univ_map_intf.S1.t
val change :
's Univ_map_intf.S1.t ->
'a Key.t ->
(('s, 'a) Univ_map_intf.S1.data option ->
('s, 'a) Univ_map_intf.S1.data option) ->
's Univ_map_intf.S1.t
val change_exn :
's Univ_map_intf.S1.t ->
'a Key.t ->
(('s, 'a) Univ_map_intf.S1.data -> ('s, 'a) Univ_map_intf.S1.data) ->
's Univ_map_intf.S1.t
module Packed :
sig
type 's t =
T : 'a Key.t *
('s, 'a) Univ_map_intf.S1.data -> 's Univ_map_intf.S1.Packed.t
end
val to_alist : 's Univ_map_intf.S1.t -> 's Univ_map_intf.S1.Packed.t list
val sexp_of_t :
('s -> Sexplib.Sexp.t) -> 's Univ_map_intf.S1.t -> Sexplib.Sexp.t
end`