clone with immer syntax for immutable updates

I thew together a quick proposal here:

Wanted to see if anyone is interested in this.

Unlike the previous times this has been brought up, engines now have efficient cloning APIs thanks to structured cloning in browsers. I'm not sure if that was the only blocker, but that gets rid of one.

One note: you should probably Object.clone, we do not ever add properties to Object.prototype.

Got it. I updated to use Object.clone. I wasn't sure how stuctured clone would play into this. Glad to hear a blocker is out of the way.