https://heycam.github.io/webidl/#dfn-perform-steps-once-promise-is-settled What if the type is `Promise<Node>` and someone passes `Promise.resolve(3)`? I think the best we can do is go down the rejection path? Although that makes using "upon fulfillment" in isolation pretty dangerous for non-`any` _T_s.