Generics хреново сочетаюся с отсутствием нормального RAII, но, наверное, в Embarcadero думают иначе. Предположим, нас интересует арифметика только с операторами +, -, *. Представим себе, что у нас, помимо Integer, есть модуль длинной целочисленной арифметики. Далее, есть generic, который на вход берёт целочисленный тип, а на выходе даёт рациональные числа из них. Либо для вещественных чисел можно взять Double. Далее, есть generic, который на вход берёт тип вещественных чисел, а на выходе даёт комплексные числа из них. Далее, есть generic, который на вход берёт некий числовой тип и делает из него матрицы.
Проверить, нормальные ли generics в языке программирования, довольно просто: все возможные осмысленные комбинации этих generic'ов должны быть рабочими, и написание каждого из этих модулей не должно быть утомительным обходом языковых ограничений.
Впрочем, в Delphi их хотя бы возможно обойти. Во Free Pascal generics последний раз, когда я смотрел спецификацию, никуда не годятся, потому что нет RAII. Никогда не понимал ФриПаскалистов. Скопировали Delphi 7, а дальше не стали. Испортили язык фичами из C++, но так же хорошо, как в C++, они не могут работать. Про Аду и знать не хотят.