type t0 = class static function operator implicit(o: T): t0 := nil; end; t1 = class(t0) end; procedure p1(q: t0); begin assert(q <> nil); end; begin var prog_Q: t1 := new t1; p1(prog_Q); end.