Das ist ja kein Sinn, sondern die Art und Weise wie der Compiler intern arbeitet. Der arbeitet nun einmal typsicher und braucht daher einen Typ, auch wenn da "nur" steht array of integer. Also legt er einen neuen lokalen Typen dafür an.
Ich weiß ehrlich nicht warauf Du eigentlich hinauswillst. Ich habe auf die Frage "Warum gibt es zwei unterschiedliche Typen ..." geantwortet: "Historisch ..."; worauf Du meintest, sagen zu müssen "um genau zu sein ..". Historisch wurden die "Offenen Arrays" in Turbo/Borland Pascal u.a. genau mit dem von Dir bemängelten "Sinn" eingeführt. Das Delphi später dynamische Arrays eingeführt hat, ändert daran nichts. (Sie hätte es natürlich besser machen können, um diese Verwirrung zu vermeiden). Aber lassen wir besser diese ins Off-Topic führende Diskussion ...