Description
Provides an IO style that avoids non-error synchronous exceptions in Haskell. It helps code make normal failure paths explicit instead of hiding them as unexpected exceptions.
It is useful for applications and libraries that want more predictable error handling around IO. It does not remove every possible runtime failure, so resource cleanup and truly exceptional conditions still need attention.