function createReduce(arrayFunc, eachFunc) {
	      return function(collection, iteratee, accumulator, thisArg) {
	        var initFromArray = arguments.length < 3;
	        return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
	          ? arrayFunc(collection, iteratee, accumulator, initFromArray)
	          : baseReduce(collection, getCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc);
	      };
	    }
Creates a function for `_.reduce` or `_.reduceRight`.

@private
@param {Function} arrayFunc The function to iterate over an array.
@param {Function} eachFunc The function to iterate over a collection.
@returns {Function} Returns the new each function.