docs: function pipeline(arrayOfTasks) {
    return promise.Promise.all(
      slice.call(arguments, 1)
    ).then(function(firstArgs) {
      var value;
  
      function perform(task) {
        var outcome;
        if (firstArgs) {
          outcome = task.apply(undefined, firstArgs);
          firstArgs = null;
        } else {
          outcome = task(value);
        }
  
        if (promise.Promise.isInstance(outcome)) {
          return outcome.then(function(outcome) {
            value = outcome;
          });
        } else {
          value = outcome;
        }
      }
  
      return series.Series.from(arrayOfTasks)
        .each(perform)
        .then(function() { return value; });
    });
  }