You can define a range of indexes into an array, they do not need to start at 1. But the compiler will do a range test if you have range check turned on.
In this example 1990, 1991 and 1992 is the same as saying [0..2,....
The difference is, when you index the array in code you need to use a starting value of 1990 through 1992 to stay in range.
In the background in code the compiler knows the starting number is 1990 so it subtracts that from what ever index value you have to give it, to obtain 0 for the starting index.
So care must be taken to ensure you are within range.