Como escrever o manipulador Ctrl-C em Haskell?

Eu tentei a seguinte abordagem:

import System.Exit
import System.Posix.Signals
import Control.Concurrent (threadDelay)

main :: IO ()
main = do
  installHandler keyboardSignal (Catch (do exitSuccess)) Nothing
  threadDelay (1000000000)

Mas só produz:

^CTest.hs: ExitSuccess

emCtrl-C, em vez de sair. Como devo fazer isso corretamente?

questionAnswers(1)

yourAnswerToTheQuestion