Calling chunk_while, slice_after, slice_before, slice_when with no block
slice_when all require a block.
If one needs the index within the block, there is no good way to do this;
enum.each_with_index.chunk_while would have indices in the results, so
enum.enum_for(:chunk_while).with_index is the best solution.
I feel that we should return
enum_for(:chunk_while). This is strictly more useful than raising as we currently do.