A dictionary than can be used in dictionaries and sets.
Defines equality and a hash function.
Recommended to be used as an immutable.
Call makehash() after mutations (but not if used in a set or other map!)