Mark S. Miller (2013-08-26T16:22:28.000Z)
domenic at domenicdenicola.com (2013-08-29T19:29:41.477Z)
+1. Agreed on all counts. > What about .resolve()? pseudocode: resolve(obj) => isPromise(obj) ? adopt(obj) : accept(obj) The isPromise above is nominal. If obj is a non-promise thenable, as in the example, it will be accepted, not adopted. The isThenable check happens *only* on the input side of .then, and so forcing only happens at that point as well.