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