allow negative slicing, i.e. "[ 5, 10, 15 ].slice(undef, undef, -1)" will reverse the array