Hacker News new | ask | show | jobs
by Arnavion 1822 days ago
Apart from simplicity, it was designed to be used with "thenables". If the value that a Promise resolved with had a `then()` member, the value would be treated like a first-party Promise. So even if there was a separate fmap-then and bind-then, the fmap-then would have to deal with thenables and act like bind-then anyway.

There's a bunch of history in [1], particularly [2] and [3], if you care to read them.

[1]: https://github.com/promises-aplus/promises-spec/issues

[2]: https://github.com/promises-aplus/promises-spec/issues/75

[3]: https://github.com/promises-aplus/promises-spec/issues/94