What are your thoughts on having this in the constructor rather than having it inside `__hash__`?