The `lower_limit` and `upper_limit` arguments are also a bit confusing. Arrays can be indexed from the end by using a negative value; could this also be applied here? Would there ever be a case to need `lower_limit` and `upper_limit` specified in the same place?