[Haskell-cafe] Why don't my OS threads terminate?