type t1=class class l: byte; a: byte; class procedure test; begin t1&.l := 3; assert(t1&.l = 3); end; class procedure test(var a: byte); begin assert(a = 3); end; end; begin t1&.l := 2; t1&.l := 3; assert(t1&.l = 2); assert(t1&.l = 3); var o := new t1; o.a := 2; assert(o.a = 2); t1&.test; t1&.test(t1&.l); end.