`hasOwnProperty` will return false on non enumerable prototypes, no? maybe
```js
if (restricted[key] !== undefined) return;
```