Strange GHC/STM behaviour