Dann war sicher auch der späte Support von Generics ein Grund, was einfach dazu geführt haben dürfte, dass viele Codebasen umständliche Workarounds verwenden.
Wobei ich damals mit Include-Dateien auch schon pseudo-generische Listen verwendet habe. Mit Einführung echter Generics konnte ich dann einfach per IFDEF auf die generische Variante umschalten, die dann eben nur noch eine Zeile umfasste.
Das war zwar nicht vergleichbar mit echten Generics, aber für Listen klappte es sehr gut.