@pior It's not an optimization, it's just a way to make sure that the information about the object does not conflict with the data of the state of the object. Strangely the idea comes from [ZODB](https://github.com/zopefoundation/ZODB/blob/master/src/ZODB/serialize.py).