úÎ!W³Nİ”      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“Safe,H $safeÿA constraint synonym which denotes that the function is partial, and will (on GHC 8.* and up) produce a stack trace on failure. You may mark your own non-total functions as Partial, if necessary, and this will ensure that they produce useful stack traces.Safe,> z”•–—˜™š›Safe,> safe›The largest element of a foldable structure with respect to the given comparison function. The result is bounded by the value given as the first argument.safeœThe smallest element of a foldable structure with respect to the given comparison function. The result is bounded by the value given as the first argument.safemThe largest element of a foldable structure. The result is bounded by the value given as the first argument.safenThe smallest element of a foldable structure. The result is bounded by the value given as the first argument.safeGThe largest element of a foldable structure. The result is bounded by œ.safeGThe largest element of a foldable structure. The result is bounded by .safe  findJust op = fromJust . find opsafe!New users are recommended to use  or  instead.safe!New users are recommended to use  or  instead.safe!New users are recommended to use  or   instead.safe!New users are recommended to use  or   instead.safe!New users are recommended to use  or  instead.safe!New users are recommended to use  or  instead.  Safe,>P.safe mtakeExact n xs = | n >= 0 && n <= length xs = take n xs | otherwise = error "some message" safe mdropExact n xs = | n >= 0 && n <= length xs = drop n xs | otherwise = error "some message"!safe ssplitAtExact n xs = | n >= 0 && n <= length xs = splitAt n xs | otherwise = error "some message"+safe izipExact xs ys = | length xs == length ys = zip xs ys | otherwise = error "some message",safe uzipWithExact f xs ys = | length xs == length ys = zipWith f xs ys | otherwise = error "some message"3safe ¥zip3Exact xs ys zs = | length xs == length ys && length xs == length zs = zip3 xs ys zs | otherwise = error "some message"4safe ±zipWith3Exact f xs ys zs = | length xs == length ys && length xs == length zs = zipWith3 f xs ys zs | otherwise = error "some message" !"#$%&'()*+,-./0123456789: !+,34#"$&%')(*.-/10265798:Safe,>L;safe Synonym for “. Used for instances where the program has decided to exit because of invalid user input, or the user pressed quit etc. This function allows & to be reserved for programmer errors.<safe 1tailMay [] = Nothing tailMay [1,3,4] = Just [3,4]=safe 3tailDef [12] [] = [12] tailDef [12] [1,3,4] = [3,4]>safe \tailNote "help me" [] = error "Safe.tailNote [], help me" tailNote "help me" [1,3,4] = [3,4]?safe )tailSafe [] = [] tailSafe [1,3,4] = [3,4]RsafeThe largest element of a list with respect to the given comparison function. The result is bounded by the value given as the first argument.SsafeThe smallest element of a list with respect to the given comparison function. The result is bounded by the value given as the first argument.Tsafe_The largest element of a list. The result is bounded by the value given as the first argument.Usafe`The smallest element of a list. The result is bounded by the value given as the first argument.Vsafe9The largest element of a list. The result is bounded by œ.Wsafe9The largest element of a list. The result is bounded by .gsafeAn alternative name for Ÿ?, to fit the naming scheme of this package. Generally using Ÿ+ directly would be considered better style.jsafe Synonym for  5, but includes more information in the error message.nsafe9This function provides a more precise error message than  readEither from base.qsafeq uses n for the error message.rsafe &lookupJust key = fromJust . lookup keyusafe  findJust op = fromJust . find opxsafe *elemIndexJust op = fromJust . elemIndex op{safe *findIndexJust op = fromJust . findIndex opsafe!New users are recommended to use U or T instead.safe!New users are recommended to use U or T instead.safe!New users are recommended to use S or R instead.safe!New users are recommended to use S or R instead.Y;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“Y;jrux{<=>?@ABCDFHEGIJLKMNPOQSRVTWUX‘[Y’\Z“]_ac^`bdefghiklmopqnstvwyz|}~€‚ƒ„…†‡ˆ‰Š‹Œ¡      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO   P  QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}! ~€‚ƒ„…†‡ˆ‰Š‰‹Œ‘’"safe-0.3.19-A9xxxfJjh5L7P3crnmL4sQ Safe.Partial Safe.Foldable Safe.ExactSafe Safe.UtilPartial foldl1May foldr1May foldl1Note foldr1Note minimumMay maximumMay minimumNote maximumNote minimumByMay maximumByMay minimumByNote maximumByNotemaximumBoundByminimumBoundBy maximumBound minimumBoundmaximumBoundedminimumBoundedfindJust findJustDef findJustNote minimumDef maximumDef minimumByDef maximumByDef foldl1Def foldr1Def foldl1Safe foldr1Safe findJustSafe takeExact dropExact splitAtExact takeExactNote takeExactMay takeExactDef dropExactNote dropExactMay dropExactDefsplitAtExactNotesplitAtExactMaysplitAtExactDefzipExact zipWithExact zipExactNote zipExactMay zipExactDefzipWithExactNotezipWithExactMayzipWithExactDef zip3Exact zipWith3Exact zip3ExactNote zip3ExactMay zip3ExactDefzipWith3ExactNotezipWith3ExactMayzipWith3ExactDefaborttailMaytailDeftailNotetailSafeinitMayinitDefinitNoteinitSafeheadMaylastMayheadDeflastDefheadNotelastNote foldl1May' foldl1Note' scanr1May scanl1May scanr1Def scanl1Def scanr1Note scanl1NotecycleMaycycleDef cycleNote fromJustDef fromJustNote assertNoteatatMayatDefatNotereadEitherSafereadMayreadDefreadNote lookupJust lookupJustDeflookupJustNote elemIndexJustelemIndexJustDefelemIndexJustNote findIndexJustfindIndexJustDeffindIndexJustNote toEnumMay toEnumDef toEnumNote toEnumSafesuccMaysuccDefsuccNotesuccSafepredMaypredDefpredNotepredSafeindexMayindexDef indexNote foldl1Def'base GHC.StackwithFrozenCallStack.^.^^.^^^liftMayfromNoteModulefromNoteEitherModule eitherToMaybeGHC.EnumminBoundmaxBoundGHC.Errerror Data.Maybe fromMaybeGHC.List!!