Во-первых, можно передавать VAR p: ANYREC и дальше через метапрограммирование вытаскивать поля. (Только как там в Обероне - не знаю).

Либо, более тупо, прямо и быстро - передавать VAR data: ARRAY OF BYTE и иметь библиотечку с функциями считывания записей из двоичного потока.
Как вот эти -viewtopic.php?f=2&t=2006(Не забываем в них проверять, что записи без указателей - и имеем 100%-безопасность).
Для элементарных типов в той же библиотечке имеем предобъявленные типы вида Int = RECORD val: INTEGER END.