úÎ‘Ô       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) 8 !"#$%&'()*+,-./0123456789:;<=>?@AB      CDEF1Run a computation explicitly handling exceptions Run a safe computation 0Run a safe computation checking even unchecked (UncaughtExceptions ) exceptions #Run explicitly handling exceptions GRun a safe computation 0Run a safe computation checking even unchecked (UncaughtException ) exceptions HB !"#$%&'()*+,-./0123456789:;<=>?@AB   I       !"#$%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%EFGHIJKLcontrol-monad-exception-0.3.2Control.Monad.Exception.ClassControl.Monad.Exceptionbase GHC.Exception SomeException fromException toException Exception WrapException wrapExceptionUncaughtException ParanoidMode NoExceptionsCaught MonadCatchcatch MonadThrowthrowThrowsEMTMonadZeroExceptionEMevalEMrunEM runEMParanoidevalEMTrunEMTrunEMTParanoidPrivateGHC.Basefail>>=>>returnMonadFunctor Control.Monad MonadPlusapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzerofmap AnyExceptionunEMTmapLeft runEMT_gencatchEMT