index.js
function objReduceLeft(callback/*, initialValue = UNDEFINED*/) {
    const args = Array.prototype.slice.call(arguments, 0);
    args.unshift(each);
    return objReduceIterated.apply(this, args);
}
function objReduceLeft(callback/*, initialValue = UNDEFINED*/) {
    const args = Array.prototype.slice.call(arguments, 0);
    args.unshift(each);
    return objReduceIterated.apply(this, args);
}
function objReduceLeft ( callback /*, initialValue = UNDEFINED*/ ) { const args = Array . prototype . slice . call ( arguments , 0 ) ; args . unshift ( each ) ; return objReduceIterated . apply ( this , args ) ; }
reduce function applied to object's and array's own properties not just indexed contents
where order of reduction is left to right, first indexed properties, then ascii sorted
non-indexed properties

@this        array or object
@param callback function taking (prevValue, value, key, collection) and returning reduced
value if BREAK returned then the result will be the accumulated value up to this point,
or if BREAK(arg) is returned then the result will be arg
//@param initialValue what to use for initial reduced value instead of array element
@return {boolean} whether callback returned true for all keys/values
reduce function applied to object s and array s own properties not just indexed contents where order of reduction is left to right first indexed properties then ascii sorted non - indexed properties