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.