It's necessary if we want to reference the original `arguments` from within the callback for `each` (well, we could just alias `var args = arguments;`, but I don't think this is what you had in mind).

If we instead check `value === undefined`, then we could avoid naming the condition. In that case, `$el.removeClass(undefined)` will remove all classes. This isn't necessarily a bad thing, but it messes with the iteration case. For instance:

```javascript
$els.removeClass(function() {});
```

...should have no effect. To support this, we'd need to special-case `undefined` [when we iterate](https://github.com/MatthewMueller/cheerio/pull/288/files#diff-9d4eadf79cb3d6224fe94906f348f0a9R266), which will be a little ugly. Since jQuery's `removeClass` only removes all classes when `arguments === 0` (and not when `argument[0] === undefined`), it seems acceptable to avoid this added complexity.