ah I misread. the double resolve.

This cookbook entry itself does seems kinda strange. 

Also your app code, settle with `undefined` but your demo code settles with either the fulfillment value or the rejection reason.

Anyways, now that I have _correctly_ read your example, a simplification is:

```javascript
MyModel.find().fail(function(reason) {
  return reason;
});
```

How does this work? Returning from a rejection handler is the same as "rescuing" from a thrown exception. Additionally the return value of the rejection handler becomes the fulfillment the downstream promise graph.