I was having a really difficult time debugging some rejected promises, because I was only returning a Deferred object in my onResolved callback. Would it be wrong to also accept Deferred objects so we can use their .promise?
I think it would be really easy and non-breaking since we could do it by only changing this line