You don't need the `__getitem__` here, because dict will already call `__missing__` if the key is not found!