type t0=record end; t1=class where T1: t0; a: T1; end; t2=class(t1) where T: record; end; begin var a := new t2; end.