Ah right, good call. What about

```js
RSVP.filter = function (iterable, callback) {
    return RSVP.all(iterable).then(function (values) {
        return RSVP.all(values.map(callback)).then(function (filterResults) {
            return values.filter(function (val, i) {
                return filterResults[i];
            });
        });
    });
};
```