C# has the with part as a language built in; we use it at work with our immutable objects.
var y = x with { things I want to change }
https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...