Module Bonsai_types.Environment

include Core_kernel.Univ_map.S1 with module Key = Core_kernel.Univ_map.Type_id_key and type ('w, 'a) data := ('a'w) Incremental.t
type 's t

The 's parameter is shared across all values stored in the map.

val sexp_of_t : ('s -> Ppx_sexp_conv_lib.Sexp.t) -> 's t -> Ppx_sexp_conv_lib.Sexp.t
type ('s, 'a) data
val invariant : _ t -> Core_kernel__.Import.unit
val empty : _ t
val is_empty : _ t -> Core_kernel__.Import.bool
val set : 's t -> 'a Key.t -> ('s'a) data -> 's t
val mem : _ t -> _ Key.t -> Core_kernel__.Import.bool
val mem_by_id : _ t -> Core_kernel.Type_equal.Id.Uid.t -> Core_kernel__.Import.bool
val find : 's t -> 'a Key.t -> ('s'a) data Core_kernel__.Import.option
val find_exn : 's t -> 'a Key.t -> ('s'a) data
val add : 's t -> 'a Key.t -> ('s'a) data -> [ `Ok of 's t | `Duplicate ]
val add_exn : 's t -> 'a Key.t -> ('s'a) data -> 's t
val change : 's t -> 'a Key.t -> f:(('s'a) data Core_kernel__.Import.option -> ('s'a) data Core_kernel__.Import.option) -> 's t
val change_exn : 's t -> 'a Key.t -> f:(('s'a) data -> ('s'a) data) -> 's t
val update : 's t -> 'a Key.t -> f:(('s'a) data Core_kernel__.Import.option -> ('s'a) data) -> 's t
val remove : 's t -> 'a Key.t -> 's t
val remove_by_id : 's t -> Core_kernel.Type_equal.Id.Uid.t -> 's t
module Packed : sig ... end
val to_alist : 's t -> 's Packed.t Core_kernel__.Import.list
val of_alist_exn : 's Packed.t Core_kernel__.Import.list -> 's t