"Absolute" is not type safe. And it isn't meant to be afaik. In fact it is often used as a way to access on variable as something of another type.
Often time, those "type translations" are such that they could be done by typecase (maybe pointer to TObject), but that isn't necessary.
You could have a record "TPoint = record x,y: integer; end". And if you know that "x" is the first thing in memory, and it is right at the start of the record, then you could have an integer variable "absolute" at an variable of type TPoint.
In other words, it just takes the address, and gets whatever is in memory.
so it would then do the same as
It does the same in your case.
You have a static array, and a static array is
not a pointer, it is straight there in memory, like a record would be. So the address of the array "A" and the entry "A[1]" are the same.
Hence it works.
(It wouldn't work with a dynamic array)