This might be due to - Idx2Txmem its datastructures that does not take care of changes in the objects or not. The AvlTree might require revisitation - ValueMem might be maintaining structures that did not change but are written to regardless - The Set and SetAll setters should be comparing the state before and after before continuing with the set stuff. - We could check the changed state based on an original copy. That makes rolling back also somewhat easier.