h$1      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL Safe-Inferred3-safe-exceptionsWrap up a synchronous exception to be treated as an asynchronous exception#This is intended to be created via Asafe-exceptionsWrap up an asynchronous exception to be treated as a synchronous exception#This is intended to be created via @safe-exceptionsException type thrown by  .Note that the second field of the data constructor depends on GHC/base version. For base 4.9 and GHC 8.0 and later, the second field is a call stack. Previous versions of GHC and base do not support call stacks, and the field is simply unit (provided to make pattern matching across GHC versions easier).safe-exceptions'Synchronously throw the given exceptionsafe-exceptions Synonym for safe-exceptions Synonym for  safe-exceptionsA convenience function for throwing a user error. This is useful for cases where it would be too high a burden to define your own exception type.!This throws an exception of type . When GHC supports it (base 4.9 and GHC 8.0 and onward), it includes a call stack.!safe-exceptions2Throw an asynchronous exception to another thread.8Synchronously typed exceptions will be wrapped into an , see https://github.com/fpco/safe-exceptions#determining-sync-vs-async:It's usually a better idea to use the async package, see 2https://github.com/fpco/safe-exceptions#quickstart"safe-exceptionsGenerate a pure value which, when forced, will synchronously throw the given exceptionGenerally it's better to avoid using this function and instead use , see 2https://github.com/fpco/safe-exceptions#quickstart#safe-exceptionsSame as upstream M-, but will not catch asynchronous exceptions$safe-exceptionsM specialized to only catching s%safe-exceptions#/ specialized to catch all synchronous exception&safe-exceptionsSame as #, but fully force evaluation of the result value to find all impure exceptions.'safe-exceptions&/ specialized to catch all synchronous exception(safe-exceptions# without async exception safetyGenerally it's better to avoid using this function since we do not want to recover from async exceptions, see 2https://github.com/fpco/safe-exceptions#quickstart)safe-exceptions) is like # but it takes an extra argument which is an exception predicate, a function which selects which type of exceptions we're interested in.*safe-exceptionsFlipped version of #+safe-exceptionsN specialized to only catching s,safe-exceptionsFlipped version of %-safe-exceptionsFlipped version of &.safe-exceptionsFlipped version of '/safe-exceptionsFlipped version of (Generally it's better to avoid using this function since we do not want to recover from async exceptions, see 2https://github.com/fpco/safe-exceptions#quickstart0safe-exceptionsFlipped ).1safe-exceptionsSame as upstream O-, but will not catch asynchronous exceptions2safe-exceptionsO specialized to only catching s3safe-exceptions10 specialized to catch all synchronous exceptions4safe-exceptionsSame as 1, but fully force evaluation of the result value to find all impure exceptions.5safe-exceptions40 specialized to catch all synchronous exceptions6safe-exceptions1 without async exception safetyGenerally it's better to avoid using this function since we do not want to recover from async exceptions, see 2https://github.com/fpco/safe-exceptions#quickstart7safe-exceptions A variant of 1 that takes an exception predicate to select which exceptions are caught.8safe-exceptionsAsync safe version of P9safe-exceptionsLike 81, but provides the handler the thrown exception.:safe-exceptionsAsync safe version of Q;safe-exceptionsAsync safe version of R<safe-exceptionsAsync safe version of S=safe-exceptionsAsync safe version of T>safe-exceptions A variant of = where the return value from the first computation is not required.?safe-exceptionsAsync safe version of Q5 with access to the exception in the cleanup action.@safe-exceptions1Convert an exception into a synchronous exception0For synchronous exceptions, this is the same as . For asynchronous exceptions, this will wrap up the exception with Asafe-exceptions3Convert an exception into an asynchronous exception1For asynchronous exceptions, this is the same as . For synchronous exceptions, this will wrap up the exception with Bsafe-exceptions+Check if the given exception is synchronousCsafe-exceptions,Check if the given exception is asynchronousDsafe-exceptionsSame as upstream U-, but will not catch asynchronous exceptionsEsafe-exceptionsSame as D, but fully force evaluation of the result value to find all impure exceptions.Fsafe-exceptionsD without async exception safetyGenerally it's better to avoid using this function since we do not want to recover from async exceptions, see 2https://github.com/fpco/safe-exceptions#quickstart    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF !"#$%&'()*+,-./01234567DEF8:;<9=>?@ABC            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO&-4P;P=P>P?P@G.safe-exceptions-0.1.7.2-JneZS63Oo6PChwawONXlrZControl.Exception.SafebaseGHC.BaseassertData.Typeable.InternalTypeableGHC.IO.ExceptionSomeAsyncException IOExceptionGHC.Exception.Type SomeExceptiondisplayException fromException toException Exceptionexceptions-0.10.4Control.Monad.Catch handleIOError catchIOErroruninterruptibleMask_mask_ MonadThrow MonadCatchgeneralBracketuninterruptibleMaskmask MonadMaskHandlerAsyncExceptionWrapperSyncExceptionWrapperStringExceptionthrowthrowIOthrowM throwStringthrowTo impureThrowcatchcatchIOcatchAny catchDeep catchAnyDeep catchAsync catchJusthandlehandleIO handleAny handleDeep handleAnyDeep handleAsync handleJusttrytryIOtryAnytryDeep tryAnyDeeptryAsynctryJust onException withExceptionbracketbracket_finallybracketOnErrorbracketOnError_bracketWithErrortoSyncExceptiontoAsyncExceptionisSyncExceptionisAsyncExceptioncatches catchesDeep catchesAsync$fExceptionStringException$fShowStringException$fExceptionSyncExceptionWrapper$fShowSyncExceptionWrapper $fExceptionAsyncExceptionWrapper$fShowAsyncExceptionWrapperControl.Exception.Base