module System.IO.Exception.File where import System.IO.Straight (ExceptionalT, IOException, SIO, ioToExceptionalSIO, ) import qualified System.IO as IO -- import System.IO (Handle, IOMode, ) type EIO = ExceptionalT IOException SIO close :: IO.Handle -> EIO () close :: Handle -> EIO () close Handle h = forall a. IO a -> ExceptionalT IOException SIO a ioToExceptionalSIO forall a b. (a -> b) -> a -> b $ Handle -> IO () IO.hClose Handle h