If you have a custom `__eq__` and you want to be able to use the objects as keys in dicts, you must define a custom `__hash__` (which I found out via test failures)