referenced from anywhere. The 'killThread' function may be defined in
terms of 'throwTo':
-> killThread = throwTo (AsyncException ThreadKilled)
+> killThread tid = throwTo tid (AsyncException ThreadKilled)
-}
killThread :: ThreadId -> IO ()
killThread (ThreadId id) = IO $ \ s ->