[Haskell-cafe] Handle close on GC leading to wrong reported exit codes?