- alreadyExists: Option String → UInt32 → String → IO.Error
 - otherError: UInt32 → String → IO.Error
 - resourceBusy: UInt32 → String → IO.Error
 - resourceVanished: UInt32 → String → IO.Error
 - unsupportedOperation: UInt32 → String → IO.Error
 - hardwareFault: UInt32 → String → IO.Error
 - unsatisfiedConstraints: UInt32 → String → IO.Error
 - illegalOperation: UInt32 → String → IO.Error
 - protocolError: UInt32 → String → IO.Error
 - timeExpired: UInt32 → String → IO.Error
 - interrupted: String → UInt32 → String → IO.Error
 - noFileOrDirectory: String → UInt32 → String → IO.Error
 - invalidArgument: Option String → UInt32 → String → IO.Error
 - permissionDenied: Option String → UInt32 → String → IO.Error
 - resourceExhausted: Option String → UInt32 → String → IO.Error
 - inappropriateType: Option String → UInt32 → String → IO.Error
 - noSuchThing: Option String → UInt32 → String → IO.Error
 - unexpectedEof: IO.Error
 - userError: String → IO.Error
 
Equations
- IO.instInhabitedError = { default := IO.Error.alreadyExists default default default }
 
Equations
- instCoeStringError = { coe := IO.userError }
 
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- IO.Error.fopenErrorToString gist fn code x = match x with | some details => IO.Error.downCaseFirst gist ++ " (error code: " ++ toString code ++ ", " ++ IO.Error.downCaseFirst details ++ ")\n file: " ++ fn | none => IO.Error.downCaseFirst gist ++ " (error code: " ++ toString code ++ ")\n file: " ++ fn
 
Equations
- IO.Error.otherErrorToString gist code x = match x with | some details => IO.Error.downCaseFirst gist ++ " (error code: " ++ toString code ++ ", " ++ IO.Error.downCaseFirst details ++ ")" | none => IO.Error.downCaseFirst gist ++ " (error code: " ++ toString code ++ ")"
 
Equations
- IO.Error.toString x = match x with | IO.Error.unexpectedEof => "end of file" | IO.Error.inappropriateType (some fn) code details => IO.Error.fopenErrorToString "inappropriate type" fn code (some details) | IO.Error.inappropriateType none code details => IO.Error.otherErrorToString "inappropriate type" code (some details) | IO.Error.interrupted fn code details => IO.Error.fopenErrorToString "interrupted system call" fn code (some details) | IO.Error.invalidArgument (some fn) code details => IO.Error.fopenErrorToString "invalid argument" fn code (some details) | IO.Error.invalidArgument none code details => IO.Error.otherErrorToString "invalid argument" code (some details) | IO.Error.noFileOrDirectory fn code x => IO.Error.fopenErrorToString "no such file or directory" fn code none | IO.Error.noSuchThing (some fn) code details => IO.Error.fopenErrorToString "no such thing" fn code (some details) | IO.Error.noSuchThing none code details => IO.Error.otherErrorToString "no such thing" code (some details) | IO.Error.permissionDenied (some fn) code details => IO.Error.fopenErrorToString details fn code none | IO.Error.permissionDenied none code details => IO.Error.otherErrorToString details code none | IO.Error.resourceExhausted (some fn) code details => IO.Error.fopenErrorToString "resource exhausted" fn code (some details) | IO.Error.resourceExhausted none code details => IO.Error.otherErrorToString "resource exhausted" code (some details) | IO.Error.alreadyExists none code details => IO.Error.otherErrorToString "already exists" code (some details) | IO.Error.alreadyExists (some fn) code details => IO.Error.fopenErrorToString "already exists" fn code (some details) | IO.Error.otherError code details => IO.Error.otherErrorToString details code none | IO.Error.resourceBusy code details => IO.Error.otherErrorToString "resource busy" code (some details) | IO.Error.resourceVanished code details => IO.Error.otherErrorToString "resource vanished" code (some details) | IO.Error.hardwareFault code x => IO.Error.otherErrorToString "hardware fault" code none | IO.Error.illegalOperation code details => IO.Error.otherErrorToString "illegal operation" code (some details) | IO.Error.protocolError code details => IO.Error.otherErrorToString "protocol error" code (some details) | IO.Error.timeExpired code details => IO.Error.otherErrorToString "time expired" code (some details) | IO.Error.unsatisfiedConstraints code x => IO.Error.otherErrorToString "directory not empty" code none | IO.Error.unsupportedOperation code details => IO.Error.otherErrorToString "unsupported operation" code (some details) | IO.Error.userError msg => msg
 
Equations
- IO.Error.instToStringError = { toString := IO.Error.toString }