IO errors now return bad, then exit through tidyexit.