Synchronous promise inspection

Finally came across a case in spec discussions where synchronous promise inspection would be extremely valuable: Watcher simplification 路 Issue #222 路 tc39/proposal-signals 路 GitHub

It'd be extremely nice for promises to expose properties to do synchronous state inspection, and not just require deferral. Something like state: "pending" | "fulfilled" | "rejected" and value/reason getters. And by "extremely nice" I mean "I'd have little choice but to roll my own awkward promise subclass if you all don't provide this".

And that link isn't my only use case; far from it.

It's a very intentional part of the design to never allow synchronous interrogation of a Promise's state; doing so releases zalgo.