My understanding of promises is that there is only one argument give to a then function. 
see: "Both callbacks have a single parameter, the fulfillment value or rejection reason.", from: http://www.html5rocks.com/en/tutorials/es6/promises/#toc-api

If this is working, then I'm guessing the promises API is doing a bit more than meets the spec and this might break later.