I’m a bit puzzled by Array#'s behaviour. The documentation says
“Returns nil if the index (or starting index) are out of range.” which
doesn’t explain the following for me:
(x is an arbitrary integer)
[:x][1…x] => 
Isn’t index 1 out of range for an array with one element?
[0…x] => 
Isn’t index 0 out of range for an empty array?
I could write more examples, but I hope they illustrate my point.