function reduce(array, callback, accumulator) {
    var noaccum = arguments.length < 3;
    forEach(array, function(value, index) {
      accumulator = noaccum ? (noaccum = false, value) : callback(accumulator, value, index, array);
    });
    return accumulator;
  }
A generic `Array#reduce` like method.

@static
@memberOf Benchmark
@param {Array} array The array to iterate over.
@param {Function} callback The function called per iteration.
@param {Mixed} accumulator Initial value of the accumulator.
@returns {Mixed} The accumulator.