Objects' identity is decided by an eq? predicate applied to the result of an identity message. A set-x method returns an object with a new state, but with the same identity as the source object. An object in a changed state is in a sense a "child" of the original object. No wonder implementations of "mutation" and inheritance are so similar in this OO system.
This was also Discussed on Usenet and this is the inital message
The current version is found at http://okmij.org/ftp/Scheme/#pure-oo