type x=^y; y=record case Boolean of true:(i:integer); false:(j:integer; case Boolean of false:(l:integer;m:integer) ) end; var z:x; begin new(z) end.