Steps to reproduce: ``` ghci> import Control.Exception ghci> import System.Process.Typed ghci> let config = setStdout createPipe (proc "echo" ["foo"]) ghci> withProcessWait config $ \ p -> Data.ByteString.hGetContents (getStdout p) >> throwIO DivideByZero *** Exception: waitForProcess: does not exist (No child processes) ``` We would expect to see `DivideByZero` but instead get an `IOException` of type `NoSuchThing`. I think this is easy to fix, PR underway.