unrelated to this PR, but this resolve might actually be a cast scenario?

I've also been thinking we need a inheritance safe way to cast a valueOrThenable into a thenable.

(cc @domenic)