type pFoo = ^tFoo; { allowed despite tFoo not yet being defined } tFoo = record value1, value2: integer; end;