Допустим, по принципам ещё Delphi-List.
Список указателей ANYPTR.

Чтобы не сували некорректные типы в список, можно при создании списка указывать имя типа (как строковый параметр), а процедуры Add, Insert и т.п. будут проверять через Meta.Item.Is - что объект имеет этот тип.