Immutably Updating Properties While Preserving Hash/Equal
Say I want to immutably update properties of something that has Hash/Equal on the prototype. The plain-object way is to spread old with new onto a new object. But is there a good way to do it while preserving Hash and Equal?