docs: function eachSeries(fn) {
      var i = 0;
      return this.then(function(object) {
          return reduce(object, function(newPromise, value, key) {
              // Allow value to be a promise
              if (Q.isPromise(value)) return newPromise.then(function() {
                  return value;
              }).then(function(v) {
                  return fn(v, key || i++);
              });
  
              return newPromise.then(function() {
                  return fn(value, key || i++);;
              });
          }, Q())
          .thenResolve(object)
      });
  }