Von daher mag das zwar leicht erscheinen, ist es aber nicht...
Doch ist es - es hat nur keine Priorität. Teil der immer größer werdenden Binaries sind auch zu einem signifikanten Teil die Generics, die in den Standardbibliotheken genutzt werden aber vom Compiler nicht eingedampft werden.
Eine leere
VCL Anwendung in Delphi 10.3.3 auf Release ist bei mir knappe 2.4MB groß.
Davon sind über 800KB nur Code aus Generics:
59 verschiedene TList<> (ca 400KB)
14 verschiedene TDictionary<,> (ca 120KB)
Von den Listen könnte es 14 weniger geben, wenn man nicht so dämlichen Code in TEnumerable<T>.ToArray schreiben würde, wie derzeit der Fall ist. Denn das sorgt dafür, dass auch für ein TDictionary<TFoo,TBar> eine TList<TPair<TFoo,TBar>> kompiliert wird, die vermutlich niemals nicht benutzt wird.
Und von den dann noch übrig beleibenden 45 Listen könnten grob überschlagen über die Hälfte einfach auf TList<TObject> eingedampt werden, da es alle TList<T> sind, wo T eine Klasse ist.
Bei einer FMX Anwendung sieht das ganze übrigens noch weitaus schlimmer aus. Wenn man dann noch Drittanbieter Komponenten nutzt, die mit wachsender Begeisterung die
RTL Collections nutzen, zieht man sich noch mehr unnützen Klump rein.
Im übrigen ist das meiste des Codes, den so eine TList<T> in der Binary verursacht sogar Code der niemals durchlaufen wird, da sie für Aufrufe inlined werden - aber da nunmal für jeden
RTL Typ
RTTI angeschaltet ist, kann der Linker sie nicht rauswerfen.