var i: integer; type MyClass = record static function operator implicit(a: array of T): MyClass; begin Inc(i); end; static function operator=(first, second: MyClass) := True; end; ott = (one, two, three); stype = MyClass; begin var g: array of ott := |one,three|; var s: MyClass := new MyClass; var b := (g = s); assert(i = 1); // ppp(g,s); end.