úÎ º¢!       WrapException adds a phantom type parameter l to  SomeException OUncaught Exceptions model unchecked exceptions (a la RuntimeException in Java) +In order to declare an unchecked exception e, ! all that is needed is to make e an instance of UncaughtException -A type level witness of a exception handler. Throws, is the mechanism used to keep a type level  list of exceptions. 6Usually there is no need for the user of this library  to add further instances to Throws except in one 7 case: to encode subtyping. For instance if we have  an  IOException type and a FIleNotFoundException subcase, ! we need to add the instance: > instance Throws FileNotFoundException (Caught IOException l) !" SomeException* is at the top of the exception hierarchy  . = Capturing SomeException captures every possible exception :#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI       'Generating stack traces for exceptions @ records the given source location in the exception stack trace ( when used to wrap a EMT computation. On any other monad or value,  is defined as the identity  | hello JKLM1Run a computation explicitly handling exceptions Run a safe computation 0Run a safe computation checking even unchecked (UncaughtExceptions ) exceptions #Run explicitly handling exceptions NRun a safe computation 0Run a safe computation checking even unchecked (UncaughtException ) exceptions O  + is a convenient TH macro which expands to  <source location>  Usage:  f x = $withLocTH $ do H#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI    P       !"#$%&%'%(%)%*%+,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L%MNOPQRScontrol-monad-exception-0.4.5Control.Monad.Exception.ClassControl.Monad.Exceptionbase GHC.Exception SomeException fromException toException Exception WrapException wrapExceptionUncaughtException ParanoidMode NoExceptionsCaught MonadCatchcatchcatchWithSrcLoc MonadThrowthrowthrowWithSrcLocThrows WithSrcLocwithLocEMTMonadZeroExceptionEMevalEMrunEM runEMParanoidevalEMTshowExceptionWithTracerunEMTrunEMTParanoid withLocTHPrivate$fThrowseCaughtGHC.Basefail>>=>>returnMonadFunctor Control.Monad MonadPlusapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzerofmap AnyExceptionunEMTmapLeft runEMT_gencatchEMT