Module Renderer.Heterogeneous_dict

module Type : sig ... end
module M : sig ... end
type 'a key = 'a Type.Id.t
type binding =
  1. | B : 'a key * 'a -> binding
type t = binding M.t
val key : unit -> 'a Type.Id.t
val empty : 'a M.t
val mem : 'a Type.Id.t -> 'b M.t -> bool
val add : 'a Type.Id.t -> 'a -> binding M.t -> binding M.t
val tag : unit Type.Id.t -> binding M.t -> binding M.t
val remove : 'a Type.Id.t -> 'b M.t -> 'b M.t
val find : 'a. 'a key -> t -> 'a option