fixed bug 5), it violated the guarantee that transactions will always
see consistent values inside transactional memory