One writer per cell
Design the state so each cell has one writer. Then a race needs two writers and the design has none.
Merge beats share
A merge at the end is a serial step over small data. It is cheaper to read than a shared cell with a lock around every touch.