Move #reduce to #inject
Cleanup and compliancy fixes for Enumerable#group_by
Cleanup Enumerable#take
Implement Enumerable#take_while