public Point(double x, double y) {
public double X { get; init; }
public double Y { get; init; }
public override string ToString() => $"({X}, {Y})";
public static void Main()
var p1 = new Point(10, 10);
var p2 = p1 with { Y = 12 };
var a1 = new { X = 10, Y = 10} ;
var a2 = a1 with {X = 12 };