So let's get out of the illusion of comparing code one character at a time and try to find an abstraction that can be applied to updating all of these data types. There are two key points of this abstraction that have already been mentioned in the previous section:
changecontains the information that can transform the value of an item from one to another
Now, starting from changes, let's think about what happens when an
update method of a client is called.
Take a closer look to the method
update of client:
'value'type, first we create the change, including a new value, and then update the change ...