code: function aggregate(transform) {
    switch (arguments.length) {
      case 1:
        return aggregate_seed_transform_selector.apply(this, [undefined, arguments[0]]);
      default:
        return aggregate_seed_transform_selector.apply(this, arguments);
    }
  }
docs: Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value.
  
  @param seed The initial accumulator value.
  @param transform An accumulator function to be invoked on each element.
  @param resultTransform A function to transform the final accumulator value into the result value.
  @return The transformed final accumulator value.
  transform: (current, next) -> result