@c25l You mentioned python doesn't support using a dictionary as a key to another dictionary. I would be the main reason for this is because of mutability. If you look at arrays in python you see it doesn't support hash either. But if you look at tuples (which are basically immutable arrays) it does support hash.
>>> hash([1,2,3])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> hash((1,2,3))
-378539185
@c25l I remembered where I saw use of hash maps as keys. It was the scala collections library.
Here is a link to where hashCode is defined for most maps:
Which leads to:
https://github.com/scala/scala/blob/v2.12.1/src/library/scala/util/MurmurHash.scala#L1
Which leads to a git hup repo: