Nondestructive Mutation and Records in C# Toggle