Standard library referenceModules
i/key
Typed keys for heterogeneous immutable values (§9.8).
new
Makes a fresh identity key. A key’s answer type is invariant.
new : <A>() -> Key(A) wrap
Marks a value with its key.
wrap : <A>(Key(A), A) -> Keyed unwrap
Reads only a value marked by this same key.
unwrap = <A>(k : Key(A), x : Keyed) -> Lookup(A) { Lookup
Lookup(A) = Found(A) | Missing