userErrors: don't barf on non-IOExceptions.
Merge to STABLE.
asyncExceptions (AsyncException e) = Just e
asyncExceptions _ = Nothing
-userErrors e | isUserError e = Just (ioeGetErrorString e)
+userErrors e@IOException{} | isUserError e = Just (ioeGetErrorString e)
userErrors _ = Nothing
-----------------------------------------------------------------------------