stm write skew, use ensure to protect only-read refs from modified by other concurrent independent transactions