Tipo não escalável do Python: 'OrderedDict'

Eu não estou nada familiarizado com o conceito de:

TypeError: unhashable type: 'OrderedDict'

Mas eu não consigo entender como a seguinte linha de códigos pode produzir tal rastreamento de pilha.

89:     @staticmethod
90:     def diff(var1, var2, path=[], level=0, curpath=[]):
...
101:        elif isinstance(var1, list) and isinstance(var2, list):
102:            l1s = set(var1)
103:            l2s = set(var2)
104:            retlist = []

  File "myFile.py", line 102, in diff
    l1s = set(var1)
TypeError: unhashable type: 'OrderedDict'

Como pode linha102, no código acima lançar tal exceção?

questionAnswers(3)

yourAnswerToTheQuestion