Yes we can, that will be probably something like this:
```js
  ...
  iterator = function(value, key) { return _.contains(keys, key); };
}
return _.pick(obj, function() { return !iterator.apply(this, arguments); }, context);
```
But this will be less performant. Because if the `iterator` is not a function, always a wrapped version of the new created `iterator` will be passed to `_.pick` (e.g. wrapped by `_.not` or function () {...}). But in the current implementation, an iterator will be created (`itr`), that can be passed directly to `_.pick` without any additional wrapper.