Require monitor, run with more threads.
TVar: basic STM seems to work.
TVar: experiment.