typeof(this) opCall(U, V)(U x, V y) if (__traits(compiles, { this.x = 5; })) {
writeln("unstatic opCall"); this.Set(x, y);
return this; }static Vector2D!(T) opCall(U, V)(U x, V y) if (!__traits(compiles, { this.x = 5; })) {
return new Vector2D!(T)(to!(T)(x), to!(T)(y)); }