Monadic reform: three API tweaks to clean up Promises/A+
Brian McKenna argues that the Promises/A+ spec overloads .then and lacks a way to create promises, proposing three concrete API tweaks: a static Promise.of, a single‑argument then, and moving onRejected to the prototype. Framing promises as a monad, the changes would make the API lawful and more modular for JavaScript async code.