There should be a way to use F# records' copy-and-update feature from C#. If you have a record with a lot of fields, it's pretty trivial to copy the whole thing and just update a single value, as in: ...