It's true that console.log is bound in FF and Node but that
s not the issue here. Passing console.log to then will cause the next handler to receive the return value of the console.log call, i.e. undefined.
In mithril promises if you return undefined from then, the promise will fulfill with the previous value, I.E. it behaves like .tap in other promise libraries (because doing this in a .then like mithril does violates the spec - which is evidently surprising)
However, with unbound console.log the code doesn't work at all, this is the case in Chrome for example.
The breaks from A+ are pretty serious, both the treatment of undefined and releasing zalgo (http://blog.izs.me/post/59142742143/designing-apis-for-async...) and calling it a feature. Not on the hunt for a client side micro-framework but since I use a lot of modules that supply promises there's no way I'd use this.
However, with unbound console.log the code doesn't work at all, this is the case in Chrome for example.