Falls du die Liste in der Funktion nicht erstellst oder komplett neu zuweist ist der var Parameter falsch und sollte weg.
Dafür ist OUT da.
Bei VAR kommt auch eine Meldung, denn die Variable muß initialisiert sein, damit der Code in der Funktion prüfen kann, ob dort etwas übergeben wurde. (if not assigned then create)
Bei OUT geht der Compiler davon aus, dass nichts übergeben wird und somit muß die Variable auch nicht initiaisiert sein.