The module below
MODULE A;
TYPE X* = POINTER TO XD;
XD = RECORD
a*: POINTER TO XD;
END;
END A.
now reports a “must be exported" error in Extended Oberon. The record
XD must be exported (as a field of a private record cannot be exported).