PromiseProxy prefers Promise.cast over resolve, this makes it work correctly with promise inheritance.