Challenge 1: A Positional Product Record — Possible Solution ==================================================================== Program.cs: public record Product(string Name, decimal Price); var p = new Product("Widget", 9.99m); Console.WriteLine(p); var (name, price) = p; Console.WriteLine($"Name: {name}, Price: {price}"); Output: Product { Name = Widget, Price = 9.99 } Name: Widget, Price: 9.99 Explanation: The single-line record declaration generates everything needed: a constructor taking Name and Price, get;init; properties for both, a ToString() override producing the "Product { Name = ..., Price = ... }" format shown, and a Deconstruct method enabling `var (name, price) = p;` to unpack both values into separate local variables with no extra code written anywhere. WHY THIS WORKS AS AN ANSWER ------------------------------ This uses the chapter's own positional record syntax exactly, demonstrating both the free ToString() formatting and the free deconstruction support in one short example.