[Haskell-cafe] Is there any experience using Software Transactional Memory in substantial applications?