[Haskell-cafe] STM and `orElse` on a few thousand TMVars