@cpennington thanks, that's what I thought. Right now,
```python
hash(DummyKey.from_string('hex:0x10')) == hash(DummyKey.from_string('base10:16'))
```
while
```python
DummyKey.from_string('hex:0x10') != DummyKey.from_string('base10:16')
```

I think the best way to do this may be to incorporate the `CANONICAL_NAMESPACE` into the `__hash__` method, as opposed to just using `hash(self._key)`. Thoughts?