Subtleties of transactional memory atomicity semantics | Synapse