Jupp, siehe Antwort #3.
Aber dann braucht man den Helper nicht unbedingt und kann es auch direkt in den Record reintun.
Wenn man einfach nur den "grundlegenden" Unterschied von Record und Klasse nimmt, dann wäre die Sache etwas klarer.
* CLASS für Klassen, also alles mit impliziten Pointern
* RECORD für alle Records und native Typen ohne Pointer, wo die Daten direkt in der Variable stecken (ja, auch der Pointer selbst ist ein nativer Typ)
Wobei hier der STRING und dynamische Arrays demnach ja eigentlich einen Class-Helper benötigen würden.
Dann vielleicht CLASS Helper eben für Klassen und Interfaces, welche mit einem Contructor erstellt werden müssen, und RECORD für alles Andere.
Gut, Helper ist Helper und man hätte eigentlich keine verwirrend unterschiedlichen Namen benötigt.