fixed reduce behavior to match Enumerable#reduce when no initial value is supplied