úβ w      -A type level witness of a exception handler.  Throws, is the mechanism used to keep a type level  list of exceptions.  . : Usually 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) 4 !"#$%&'()*+,-./0123456789:;<=      !Run a computation which may fail >Run a safe computation > !"#$%&'()*+,-./0123456789:;<=    ?       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ABCcontrol-monad-exception-0.2Control.Monad.Exception.ClassControl.Monad.Exceptionbase GHC.Exception SomeException fromException toException Exception WrapException wrapExceptionCaught MonadCatchcatch MonadThrowthrowThrowsEMTunEMTMonadZeroExceptionEMevalEMrunEMevalEMTrunEMTGHC.Basefail>>=>>returnMonadFunctor Control.Monad MonadPlusapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzerofmapmapLeft