refactor Collections::reduec