That is so awesome :) Not sure if I've got the A+ magic invocations correct to capture rejections properly:

```coffeescript
    var nextPage = +this.endPage + 1,
        request = this.request,
        array = this;
    return new Ember.RSVP.Promise(function(resolve, reject) {
      // ensure that pages are loaded in order
      return array.promiseHead.then(function() {
        var nextPromise = request.loadPage(nextPage, array);
        nextPromise.then(function(more) {
          set(array, 'endPage', nextPage);
          array.pushObjects(get(more, 'content'));
          resolve(array);
        });
        request.promiseHead = nextPromise;
        return nextPromise;
      });
    });
```