Besides the restricted-to-number issue, that'd also make it effectively impossible to make a well working data type with a negative index base. Kind of a pity since it's perfectly reasonable to want to implement e.g. a coefficient vector which is centered around zero.
That restriction could almost alleviate the flags in the range case too, btw: Map from-the-end indices from -1 and downwards there too, and cap from-the-start indices so that they never go below zero, and from-the-end indices never go above -1. The remaining cases are a[..-1] and a[sizeof(a)..] which should produce an empty sequence. But all of them could summarily be represented as a[1..0] or something.
But is the convenience worth such a restricted system? It'll undoubtedly cause headaches for some people in the future.