Por que não posso usar uma lista como uma chave de ditado em python?

Estou um pouco confuso sobre o que pode / não pode ser usado como chave para um ditado pytho

dicked = {}
dicked[None] = 'foo'     # None ok
dicked[(1,3)] = 'baz'    # tuple ok
import sys
dicked[sys] = 'bar'      # wow, even a module is ok !
dicked[(1,[3])] = 'qux'  # oops, not allowed

Então, uma tupla é um tipo imutável, mas se eu ocultar uma lista dentro dela, ela não poderá ser uma chave ... eu não poderia esconder tão facilmente uma lista dentro de um módulo?

Eu tinha uma vaga idéia de que a chave deve ser "lavável", mas vou admitir minha própria ignorância sobre os detalhes técnicos; Não sei o que realmente está acontecendo aqui. O que daria errado se você tentasse usar listas como chaves, com o hash como, digamos, o local da memória dele

questionAnswers(9)

yourAnswerToTheQuestion