Package ctxt provides a way to store and retrieve values from a context using the type of the value as a key.
Code written by @zephyrtronium. I stole it from him and put it in a package. It is licensed under the CC0 license, which is included in the LICENSE.md file.