Fish Wang says to YSITD
// boom for (var i = 0; i < messages.length; i++) { var message = messages[i]; while ('object' === typeof message && 'function' === typeof message.then) { var results = yield message; if (typeof debug !== 'undefined' && debug === true) { console.log(' done at ' + (Date.now() - start) + ' ms') } [].splice.apply(messages, [i, 1].concat(results)) message = messages[i] }