runAndParse parser cmd args = do
  (_,Just hIn,_,hProc) <- createProcess (proc cmd args){std_out = CreatePipe}
  out <- parseWith (hGetSome hIn 1024) parser empty
  waitForProcess hProc
  return $ eitherResult out
runAndParse parser cmd args = do
  (_,Just hIn,_,hProc) <- createProcess (proc cmd args){std_out = CreatePipe}
  out <- parseWith (hGetSome hIn 1024) parser empty
  waitForProcess hProc
  return $ eitherResult out
runAndParse parser cmd args = do
  (_,Just hIn,_,hProc) <- createProcess (proc cmd args){std_out = CreatePipe}
  out <- parseWith (hGetSome hIn 1024) parser empty
  waitForProcess hProc
  return $ eitherResult out