Tweak the comparison with Ruby 2.
Extract #flatten from #flat_map.
Support "level" argument to #flatten.
Make #slice_before lazy.
Merge #uniq_by into #uniq.
Add some documentation.