Fixes for `slice` to support negative ranges.
BC Break - Treat each/collect differently.

Each gives the value to change, collect uses the return value as the new value.
Add `fill` method for enumerator.