Ambient_contextSourceGet the context from the current storage, or Hmap.empty if there is no ambient context.
with_context ctx f calls f() in an ambient context in which get_context() will return ctx. Once f() returns, the storage is reset to its previous value.
Get the ambient context and then look up k in it
Create a new key
with_key_bound_to storage k v f calls f() in a context updated to have k map to v.