Я решал задачу: найти все указатели в процедурных кадрах в цепочке активации и продублировать их в массиве. Решил с оговоркой. Для решения использовал ARRAY OF SYSTEM.PTR, т.к. этот тип совместим с указателями на записи и указателями на массивы, при этом он участвует в сборке мусора, как все - т.е. сборщик "видит" указатели SYSTEM.PTR.
Оговорка в следующем: невозможно отличить в процедурном кадре
p: SYSTEM.PTR
от
u: POINTER [untagged] TO...
поскольку и то, и другое кодируется form = 0DX (в процедуре Kernel.GetRefVar).
Поэтому из моей задачи такие указатели в процедурных кадрах пришлось исключить. (Однако, полагаю, можно решить и эту задачу: штатный сборщик, анализируя кадры, вообще не замудряется, где какие типы локальных переменных: каждые 4 байта объявляются кандидатом, и потом какая-то проверка идет - типа, "указывает" ли это четырехбайтное значение в кучу. До конца не вник, поскольку задача не требует).

Надеюсь, что прояснил "припрятывание".