Das prüft der Compiler über haupt nicht.
Ich hatte schon des öfteren mal Tippfehler bei der Übergabe von DS'n an eine Prozedur. Das hat den Kompiler in keinster Weise gestört ob die DS'n gleich lang definiert sind, geschweige, dass auch noch die Struktur der DS geprüft wurde.
Bei Single-Variablen magst du Recht haben.
Allerdings ist es korrekt, dass die Maximalgröße dann vorgesehen werden muss, aber auch das ließe sich per Parameter (wie bei API's auch) definieren.