Module type B0.Hmap.KEY

module type KEY = sig .. end
Signature for map keys.


type 'a typed 
The type for keys whose lookup value is of type 'a.
type 'a info 
The type for key information.
type t = 
| V : 'a typed -> t
The type for existential keys.
val v : ?loc:B0.Def.loc ->
?doc:string ->
string -> 'a B0.Conv.t -> 'a info -> 'a typed
v n conv info ~doc is a new key with name n using conv to convert values, info as key information and documented by doc (default to "").

Warning. Keys must be defined at toplevel and subject to namespacing, see details.

val conv : 'a typed -> 'a B0.Conv.t
conv k is k's converter.
val info : 'a typed -> 'a info
info k is k's key information.
val of_typed : 'a typed -> t
of_typed k is k's existential key.
include B0.Def.S