Yieldables themselves can be triggered multiple times and return a different promise everytime they're casted, which Promise/RSVP.all, allSettled, race, etc. will do internally, but prevents collecting the disposer to use for cancelation. This effectively neutralizes cancellation, which is not what we want, so we need to cast it before handing it off to the Promise/RSVP implementation.
Bug found in #413
Yieldables themselves can be triggered multiple times and return a different promise everytime they're casted, which Promise/RSVP.all, allSettled, race, etc. will do internally, but prevents collecting the disposer to use for cancelation. This effectively neutralizes cancellation, which is not what we want, so we need to cast it before handing it off to the Promise/RSVP implementation.