1. A system for managing transactions, comprising: a first reference cell associated with a starting value for a first variable; a first thread, executing on a processor, comprising an outer atomic transaction having a first instruction to write a first value to the first variable; a second thread, executing in parallel with the first thread, comprising an inner atomic transaction having a second instruction to write a second value to the first variable, wherein the inner atomic transaction is nested within the outer atomic transaction; a first value node created by the outer atomic transaction and storing the first value in response to execution of the first instruction; and a second value node created by the inner atomic transaction, storing the second value in response to execution of the second instruction, and comprising a previous node pointer referencing the first value node, wherein the first reference cell comprises a first node pointer referencing the second value node.