úÎ?û(      !"#$%&'portable in-progress&http://community.haskell.org/~ndm/safe,()*+  tailDef [12] [] = [12]  tailDef [12] [1,3,4] = [3,4]   tailMay [] = Nothing  tailMay [1,3,4] = Just [3,4]  E tail "help me" [] = error "Pattern match failure, tail [], help me"  tail "help me" [1,3,4] = [3,4]   tailSafe [] = []  tailSafe [1,3,4] = [3,4]  See fromMaybe Same as (!!), but better error message  !"#$ ( lookupJust key = fromJust . lookup key %&'Exactly the same as error+. Use this for instances where the program J has decided to exit because of invalid user input, or the user pressed  quit etc. This allows error- to be reserved for genuine coding mistakes. (  !"#$%&'(  !"#$%&'(  !"#$%&',      !"#$%&'()*+,-.safe-0.3SafetailDeftailMaytailNotetailSafeinitDefinitMayinitNoteinitSafeheadDefheadMayheadNotelastDeflastMaylastNote minimumDef minimumMay minimumNote maximumDef maximumMay maximumNote foldr1Def foldr1May foldr1Note foldl1Def foldl1May foldl1Note fromJustDef fromJustNote assertNoteatatDefatMayatNotereadDefreadMayreadNote lookupJust lookupJustDeflookupJustNoteabortliftDefliftMayliftNoteliftSafe