```perm_data``` is a dict => has no key ordering.

```restricted``` starts off as an empty dict which is populated within the loop itself.

What this means is that running the same loop on the same data multiple times might give different results.