Como matar um tópico em Haskell

Usando Control.Concurrent e forkIO, existem alguns casos que deixarão o encadeamento em um estado bloqueado (isso é especialmente frequente em janelas com rede), mesmo que se tente usar killThread, a exceção nunca será gerada no encadeamento. Existe outra maneira de forçar uma rosca a morrer?

Minha tentativa de finalizar o aplicativo inteiro com exitFailure a partir de um encadeamento auxiliar não tem efeito nessas condiçõe

The Glorious Glasgow Haskell Compilation System, versão 6.12.1 HP 2010.1.0.0

EDIT: Para esclarecer as coisas, eu não quero finalizar o aplicativo, eu preferiria simplesmente matar o thread que foi bloqueado por muito tempo. No entanto, existem inúmeros exemplos, mesmo aqui no SO, com código completo usando o exitWith em um encadeamento auxiliar e esse tipo de esquema não funciona nas condições que tenh

questionAnswers(4)

yourAnswerToTheQuestion