Why does `dict(list(tuple))` work but not `{list(tuple)}`
E.g.

```
>>> dict([('b', 456), ('a', 123)])
{'a': 123, 'b': 456}
>>> {[('b', 456), ('a', 123)]}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

```

Which part of the CPython code allows for `dict([('b', 456), ('a', 123)])`?