úÎ×y*      !"#$%&'()portable in-progresspepeiborra@gmail.com- def=, use it to return a default value in the event of an error. !E.g. you can define a version of tail which returns a default  value when the list is empty 1 tailDef defaultValue = def defaultValue . tail note1, use it to fail with an annotated runtime error *+, !"#$%&'( lookupJust key = fromJust . lookup key (IAssert a value to be true. If true, returns the first value as a succss. 3 Otherwise, returns the second value as a failure. )(The standard readFile function with any -s returned as a ) failure instead of a runtime exception. *  !"#$%&'()* !"#%'$&()  *    !"#$%&'().           !"#$%safe-failure-0.2 Safe.Failure LookupFailure ReadFailure IndexFailureFromJustFailure Foldl1Failure Foldr1FailureMaximumFailureMinimumFailure LastFailure HeadFailure InitFailure TailFailure SafeExceptiondefnotetailinitheadlastminimummaximumfoldr1foldl1fromJustatreadlookupassertreadFilesafeExceptionToExceptionsafeExceptionFromException liftFailurebaseGHC.IO.Exception IOException