You don’t have to use negative indexing just to have indexing from the end. You can do that with a method, like:
assert_eq!(3, [1, 2, 3].end(0));
assert_eq!(Some(2), [1, 2, 3].get_end(1));
Way more readable than negative indexing, especially since it can be zero indexed (I’ve tried to use list[-0] too many times in Python…).