Concurrent Haskell bug?