h&V@K      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred1witch $https://en.wikipedia.org/wiki/UTF-32witch $https://en.wikipedia.org/wiki/UTF-32witch $https://en.wikipedia.org/wiki/UTF-16witch $https://en.wikipedia.org/wiki/UTF-16witch #https://en.wikipedia.org/wiki/UTF-8witch ,https://en.wikipedia.org/wiki/ISO/IEC_8859-1 Safe-Inferred< +witch3This type class is for converting values from some source type into some other target type. The constraint  source target2 means that you can convert from a value of type source into a value of type target.This type class is for conversions that always succeed. If your conversion sometimes fails, consider implementing TryFrom instead.witchThis method implements the conversion of a value between types. At call sites you may prefer to use into instead. -- Avoid this: from (x :: s) -- Prefer this (using [@TypeApplications@](https://downloads.haskell.org/ghc/9.6.1/docs/users_guide/exts/type_applications.html) language extension): from @s x7The default implementation of this method simply calls , which works for types that have the same runtime representation. This means that for newtypes you do not need to implement this method at all. For example:newtype Name = Name Stringinstance From Name Stringinstance From String Name Safe-Inferred witch This exception is thrown when a TryFrom( conversion fails. It has the original source0 value that caused the failure and it knows the target? type it was trying to convert into. It also has an optional 5 for communicating what went wrong while converting.   Safe-Inferred witch3This type class is for converting values from some source type into some other target type. The constraint   source target= means that you may be able to convert from a value of type source into a value of type target*, but that conversion may fail at runtime.This type class is for conversions that can sometimes fail. If your conversion always succeeds, consider implementing From instead. witchThis method implements the conversion of a value between types. At call sites you may want to use tryInto instead. ;-- Avoid this: tryFrom (x :: s) -- Prefer this: tryFrom @sConsider using  maybeTryFrom or  eitherTryFrom to implement this method.   Safe-Inferred witchThis is the same as . This can be an ergonomic way to pin down a polymorphic type in a function pipeline. For example: -- Avoid this: f . (\ x -> x :: Int) . g -- Prefer this: f . as @Int . gwitchThis is the same as ; except that the type variables are in the opposite order. 5-- Avoid this: from x :: t -- Prefer this: into @t xwitch!This function converts from some source type into some target type, applies the given function, then converts back into the source type. This is useful when you have two types that are isomorphic but some function that only works with one of them. ?-- Avoid this: from @t . f . into @t -- Prefer this: over @t fwitch'This function first converts from some source type into some through) type, and then converts that into some target* type. Usually this is used when writing  instances. Sometimes this can be used to work around the lack of an instance that should probably exist. 8-- Avoid this: from @u . into @u -- Prefer this: via @uwitchThis is the same as  ; except that the type variables are in the opposite order. -- Avoid this: tryFrom x :: Either (TryFromException s t) t -- Prefer this: tryInto @t xwitchThis is similar to  except that it works with   instances instead. This function is especially convenient because juggling the types in the  can be tedious. -- Avoid this: case tryInto @u x of Left (TryFromException _ e) -> Left $ TryFromException x e Right y -> case tryFrom @u y of Left (TryFromException _ e) -> Left $ TryFromException x e Right z -> Right z -- Prefer this: tryVia @uwitch'This function can be used to implement   with a function that returns . For example: -- Avoid this: tryFrom s = case f s of Nothing -> Left $ TryFromException s Nothing Just t -> Right t -- Prefer this: tryFrom = maybeTryFrom fwitch'This function can be used to implement   with a function that returns . For example: -- Avoid this: tryFrom s = case f s of Left e -> Left . TryFromException s . Just $ toException e Right t -> Right t -- Prefer this: tryFrom = eitherTryFrom fwitchThis function is like   except that it will throw an impure exception if the conversion fails. -- Avoid this: either throw id . tryFrom @s -- Prefer this: unsafeFrom @switchThis function is like  except that it will throw an impure exception if the conversion fails. -- Avoid this: either throw id . tryInto @t -- Prefer this: unsafeInto @t   Safe-Inferredwitch This is like ; except that it works at compile time rather than runtime. -- Avoid this: unsafeFrom @s "some literal" -- Prefer this: $$(liftedFrom @s "some literal")witch This is like ; except that it works at compile time rather than runtime. -- Avoid this: unsafeInto @t "some literal" -- Prefer this: $$(liftedInto @t "some literal") Safe-Inferred 0J!witchThe maximum integral value that can be unambiguously represented as a . Equal to 16,777,215."witchThe maximum integral value that can be unambiguously represented as a !. Equal to 9,007,199,254,740,991.$witch Converts via .%witch Converts via .&witch Converts via .'witchUses .(witch Converts via .)witchUses .*witch Converts via .+witch Converts via .,witchUses .-witch Converts via ..witch Converts via ./witchUses .0witch Converts via .1witch Converts via .2witch Converts via .3witchUses .4witch Converts via .5witchUses .6witch Converts via .7witch Converts via .8witchUses .9witch Converts via .:witch Converts via .;witchUses .<witch Converts via .=witch Converts via .>witch Converts via .?witchUses .@witch Converts via .AwitchUses .Bwitch Converts via .Cwitch Converts via .DwitchUses .Ewitch Converts via .Fwitch Converts via .GwitchUses .Hwitch Converts via .Iwitch Converts via .Jwitch Converts via .KwitchUses .Lwitch Converts via .MwitchUses .Nwitch Converts via .Owitch Converts via .PwitchUses .Qwitch Converts via .Rwitch Converts via .SwitchUses .Twitch Converts via .Uwitch Converts via .Vwitch Converts via .WwitchUses .Xwitch Converts via .YwitchUses .Zwitch Converts via .[witch Converts via .\witchUses .]witch Converts via .^witch Converts via ._witchUses .`witchUses  when each character .awitchUses  when each character .bwitch Converts via .cwitch Converts via .dwitch Converts via .ewitch Converts via .fwitch Converts via .gwitch Converts via .hwitchUses .iwitch Converts via .jwitch Converts via .kwitchUses .lwitchUses coerce. Essentially the same as .mwitchUses coerce. Essentially the same as .nwitchUses coerce. Essentially the same as .owitchUses .pwitchUses .qwitchUses .rwitchUses .switchUses .twitchUses .uwitchUses .vwitchUses .wwitchUses .xwitchUses .ywitchUses .zwitchUses .{witchUses .|witchUses .}witchUses .~witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses coerce.witchUses .witchUses . Some " values cannot be represented in  and will be replaced with '\xFFFD'.witchUses .witchUses . Some ! values cannot be represented in  and will be replaced with '\xFFFD'.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses . If there are duplicate keys, later values will overwrite earlier ones.witchUses .witchUses . If there are duplicate keys, later values will overwrite earlier ones.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the imaginary part is 0.witchUses  with an imaginary part of 0.witchUses .witchUses  . This means from @Centi @Integer 3.00 is 300 rather than 3.witchUses  . This means from @Integer @Centi 2 is 0.02 rather than 2.00.witchUses , as long as there isn't a loss of precision.witchUses (. This necessarily loses some precision.witchUses (. This necessarily loses some precision.witchUses  when the denominator is 1.witchUses  with a denominator of 1.witchUses (. This necessarily loses some precision.witchUses ' when the input is not NaN or infinity.witch Converts via .witch Converts via .witch Converts via .witch Converts via .witch Converts via .witch Converts via .witch Converts via  when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.witch Converts via .witch Converts via .witch Converts via .witch Converts via .witch Converts via .witchUses .witchUses ' when the input is not NaN or infinity.witch Converts via .witch Converts via .witch Converts via .witch Converts via .witch Converts via .witch Converts via .witch Converts via  when the input is between -16,777,215 and 16,777,215 inclusive.witch Converts via .witch Converts via .witch Converts via .witch Converts via .witch Converts via .witchUses  when the input is less than or equal to 9,007,199,254,740,991.witchUses 4 when the input is less than or equal to 16,777,215.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is less than or equal to 9,007,199,254,740,991.witchUses 4 when the input is less than or equal to 16,777,215.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is less than or equal to 9,007,199,254,740,991.witchUses 4 when the input is less than or equal to 16,777,215.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses 4 when the input is less than or equal to 16,777,215.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.witchUses  when the input is between -16,777,215 and 16,777,215 inclusive.witchUses  when the input is not negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.witchUses  when the input is between -16,777,215 and 16,777,215 inclusive.witchUses  when the input is not negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.witchUses  when the input is between -16,777,215 and 16,777,215 inclusive.witchUses  when the input is not negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is between -16,777,215 and 16,777,215 inclusive.witchUses  when the input is not negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is not negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is not negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses . !"# !"# Safe-InferredJ         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$witch-1.2.0.2-LURhMkdMw6SKcZ0sLE7NtwWitch.Encoding Witch.FromWitch.TryFromException Witch.TryFrom Witch.Utility Witch.LiftWitch.InstancesWitchUTF_32BEUTF_32LEUTF_16BEUTF_16LEUTF_8 ISO_8859_1FromfromTryFromException$fExceptionTryFromException$fShowTryFromExceptionTryFromtryFromasintooverviatryIntotryVia maybeTryFrom eitherTryFrom unsafeFrom unsafeInto withSource withTarget liftedFrom liftedIntorealFloatToRational overPositive fromDigits makeRationalfromNonNegativeIntegralmaxFloat maxDouble tryEvaluate$fFrom[]Tagged$fFrom[]Tagged0$fFromTextTagged$fFromTextTagged0$fFromTextTagged1$fFromTextTagged2$fTryFromTagged[]$fTryFromTaggedText$fTryFromTaggedText0$fTryFromTagged[]0$fTryFromTaggedText1$fTryFromTaggedText2$fFrom[]Tagged1$fFrom[]Tagged2$fFromTextTagged3$fFromTextTagged4$fFromTextTagged5$fFromTextTagged6$fTryFromTagged[]1$fTryFromTaggedText3$fTryFromTaggedText4$fTryFromTagged[]2$fTryFromTaggedText5$fTryFromTaggedText6$fFrom[]Tagged3$fFrom[]Tagged4$fFromTextTagged7$fFromTextTagged8$fFromTextTagged9$fFromTextTagged10$fTryFromTagged[]3$fTryFromTaggedText7$fTryFromTaggedText8$fTryFromTagged[]4$fTryFromTaggedText9$fTryFromTaggedText10$fFrom[]Tagged5$fFrom[]Tagged6$fFromTextTagged11$fFromTextTagged12$fFromTextTagged13$fFromTextTagged14$fTryFromTagged[]5$fTryFromTaggedText11$fTryFromTaggedText12$fTryFromTagged[]6$fTryFromTaggedText13$fTryFromTaggedText14$fFrom[]Tagged7$fFrom[]Tagged8$fFromTextTagged15$fFromTextTagged16$fFromTextTagged17$fFromTextTagged18$fTryFromTagged[]7$fTryFromTaggedText15$fTryFromTaggedText16$fTryFromTagged[]8$fTryFromTaggedText17$fTryFromTaggedText18$fTryFrom[]Tagged$fTryFrom[]Tagged0$fTryFromTextTagged$fTryFromTextTagged0$fTryFromTextTagged1$fTryFromTextTagged2$fFromTagged[]$fFromTaggedText$fFromTaggedText0$fFromTagged[]0$fFromTaggedText1$fFromTaggedText2$fFromTaggedTagged $fFromTaggeda $fFromaTagged$fFromZonedTimeUTCTime%$fFromNominalDiffTimeCalendarDiffTime&$fFromCalendarDiffDaysCalendarDiffTime$fFromTimeOfDayRatio$fFromTimeOfDayDiffTime$fFromRatioTimeOfDay$fFromDiffTimeTimeOfDay$fFromSystemTimeUTCTime$fFromSystemTimeAbsoluteTime$fFromUTCTimeSystemTime$fFromNominalDiffTimeUTCTime$fFromUTCTimeNominalDiffTime$fFromSystemTimeNominalDiffTime$fFromNominalDiffTimeFixed$fFromFixedNominalDiffTime$fFromDiffTimeFixed$fFromFixedDiffTime$fFromUniversalTimeRatio$fFromRatioUniversalTime$fFromDayDayOfWeek$fFromDayInteger$fFromIntegerDay&$fFromTryFromExceptionTryFromException $fFromText[] $fFrom[]Text $fFromText[]0 $fFrom[]Text0$fFromTextText$fFromTextText0$fFromShortByteStringByteString$fFromShortByteString[]$fFrom[]ShortByteString$fFromByteStringByteString$fFromByteString[]$fFrom[]ByteString$fFromByteStringShortByteString$fFromByteStringByteString0$fFromByteString[]0$fFrom[]ByteString0 $fFromSeq[] $fFrom[]Seq$fFromIntMap[]$fFrom[]IntMap $fFromMap[] $fFrom[]Map$fFromIntSet[]$fFrom[]IntSet $fFromSet[] $fFrom[]Set$fFromNonEmpty[]$fTryFrom[]NonEmpty$fTryFromComplexa$fFromaComplex$fFromFixedRatio$fFromFixedInteger$fFromIntegerFixed$fTryFromRatioFixed$fFromRatioDouble$fFromRatioFloat$fTryFromRatioa $fFromaRatio$fFromDoubleFloat$fTryFromDoubleRatio$fTryFromDoubleNatural$fTryFromDoubleWord$fTryFromDoubleWord64$fTryFromDoubleWord32$fTryFromDoubleWord16$fTryFromDoubleWord8$fTryFromDoubleInteger$fTryFromDoubleInt$fTryFromDoubleInt64$fTryFromDoubleInt32$fTryFromDoubleInt16$fTryFromDoubleInt8$fFromFloatDouble$fTryFromFloatRatio$fTryFromFloatNatural$fTryFromFloatWord$fTryFromFloatWord64$fTryFromFloatWord32$fTryFromFloatWord16$fTryFromFloatWord8$fTryFromFloatInteger$fTryFromFloatInt$fTryFromFloatInt64$fTryFromFloatInt32$fTryFromFloatInt16$fTryFromFloatInt8$fTryFromNaturalDouble$fTryFromNaturalFloat$fFromNaturalInteger$fTryFromNaturalInt$fTryFromNaturalInt64$fTryFromNaturalInt32$fTryFromNaturalInt16$fTryFromNaturalInt8$fTryFromNaturalWord$fTryFromNaturalWord64$fTryFromNaturalWord32$fTryFromNaturalWord16$fTryFromNaturalWord8$fTryFromWordDouble$fTryFromWordFloat$fFromWordInteger$fTryFromWordInt$fTryFromWordInt64$fTryFromWordInt32$fTryFromWordInt16$fTryFromWordInt8$fFromWordNatural$fFromWordWord64$fTryFromWordWord32$fTryFromWordWord16$fTryFromWordWord8$fTryFromWord64Double$fTryFromWord64Float$fFromWord64Integer$fTryFromWord64Int$fTryFromWord64Int64$fTryFromWord64Int32$fTryFromWord64Int16$fTryFromWord64Int8$fFromWord64Natural$fTryFromWord64Word$fTryFromWord64Word32$fTryFromWord64Word16$fTryFromWord64Word8$fFromWord32Double$fTryFromWord32Float$fFromWord32Integer$fTryFromWord32Int$fFromWord32Int64$fTryFromWord32Int32$fTryFromWord32Int16$fTryFromWord32Int8$fFromWord32Natural$fTryFromWord32Word$fFromWord32Word64$fTryFromWord32Word16$fTryFromWord32Word8$fFromWord16Double$fFromWord16Float$fFromWord16Integer$fFromWord16Int$fFromWord16Int64$fFromWord16Int32$fTryFromWord16Int16$fTryFromWord16Int8$fFromWord16Natural$fFromWord16Word$fFromWord16Word64$fFromWord16Word32$fTryFromWord16Word8$fFromWord8Double$fFromWord8Float$fFromWord8Integer$fFromWord8Int$fFromWord8Int64$fFromWord8Int32$fFromWord8Int16$fTryFromWord8Int8$fFromWord8Natural$fFromWord8Word$fFromWord8Word64$fFromWord8Word32$fFromWord8Word16$fTryFromIntegerDouble$fTryFromIntegerFloat$fTryFromIntegerNatural$fTryFromIntegerWord$fTryFromIntegerWord64$fTryFromIntegerWord32$fTryFromIntegerWord16$fTryFromIntegerWord8$fTryFromIntegerInt$fTryFromIntegerInt64$fTryFromIntegerInt32$fTryFromIntegerInt16$fTryFromIntegerInt8$fTryFromIntDouble$fTryFromIntFloat$fTryFromIntNatural$fTryFromIntWord$fTryFromIntWord64$fTryFromIntWord32$fTryFromIntWord16$fTryFromIntWord8$fFromIntInteger$fFromIntInt64$fTryFromIntInt32$fTryFromIntInt16$fTryFromIntInt8$fTryFromInt64Double$fTryFromInt64Float$fTryFromInt64Natural$fTryFromInt64Word$fTryFromInt64Word64$fTryFromInt64Word32$fTryFromInt64Word16$fTryFromInt64Word8$fFromInt64Integer$fTryFromInt64Int$fTryFromInt64Int32$fTryFromInt64Int16$fTryFromInt64Int8$fFromInt32Double$fTryFromInt32Float$fTryFromInt32Natural$fTryFromInt32Word$fTryFromInt32Word64$fTryFromInt32Word32$fTryFromInt32Word16$fTryFromInt32Word8$fFromInt32Integer$fTryFromInt32Int$fFromInt32Int64$fTryFromInt32Int16$fTryFromInt32Int8$fFromInt16Double$fFromInt16Float$fTryFromInt16Natural$fTryFromInt16Word$fTryFromInt16Word64$fTryFromInt16Word32$fTryFromInt16Word16$fTryFromInt16Word8$fFromInt16Integer$fFromInt16Int$fFromInt16Int64$fFromInt16Int32$fTryFromInt16Int8$fFromInt8Double$fFromInt8Float$fTryFromInt8Natural$fTryFromInt8Word$fTryFromInt8Word64$fTryFromInt8Word32$fTryFromInt8Word16$fTryFromInt8Word8$fFromInt8Integer $fFromInt8Int$fFromInt8Int64$fFromInt8Int32$fFromInt8Int16$fFromaaghc-primGHC.PrimcoercebaseGHC.Exception.Type SomeExceptionGHC.Baseid GHC.MaybeMaybe Data.EitherEither GHC.TypesFloatDouble text-1.2.5.0Data.Text.Internal.LazyTextData.Text.Internalbytestring-0.11.3.1Data.ByteString.Lazy.Internal ByteStringData.Text.Lazy.Encoding encodeUtf32BEData.ByteString.InternalData.Text.Encoding decodeUtf32BE encodeUtf32LE decodeUtf32LE encodeUtf16BE decodeUtf16BE encodeUtf16LE decodeUtf16LE encodeUtf8 decodeUtf8'Data.ByteString.Lazy.Char8pack GHC.UnicodeisLatin1Data.ByteString.Char8String decodeLatin1#tagged-0.8.7-CfQyyzPJiVxDvLyBwZ09N0 Data.TaggedretagunTaggedTagged time-1.11.1.1&Data.Time.LocalTime.Internal.ZonedTimezonedTimeToUTC-Data.Time.LocalTime.Internal.CalendarDiffTimecalendarTimeTimecalendarTimeDays&Data.Time.LocalTime.Internal.TimeOfDaytimeOfDayToDayFractiontimeOfDayToTimedayFractionToTimeOfDaytimeToTimeOfDayData.Time.Clock.SystemsystemToUTCTimesystemToTAITimeutcToSystemTimeData.Time.Clock.POSIXposixSecondsToUTCTimeutcTimeToPOSIXSecondssystemToPOSIXTime(Data.Time.Clock.Internal.NominalDiffTimenominalDiffTimeToSecondssecondsToNominalDiffTimeGHC.Real realToFrac&Data.Time.Clock.Internal.UniversalTimegetModJulianDate ModJulianDateData.Time.Calendar.Week dayOfWeekData.Time.Calendar.DaystoModifiedJulianDayModifiedJulianDayData.Text.LazyunpackCharData.Text.Show Data.TexttoStrict fromStrictData.ByteString.Short.Internal fromShortData.ByteString.LazytoShortData.ByteString Data.FoldabletoListcontainers-0.6.5.1Data.Sequence.InternalfromListData.IntMap.Internal toAscListData.Map.InternalData.IntSet.InternalData.Set.InternalData.List.NonEmptynonEmpty Data.ComplexrealPart:+ toRational Data.FixedMkFixed fromRational numerator% GHC.Float double2Float floatToDigits ghc-bignumGHC.Num.IntegerIntegerRational float2Double fromIntegralGHC.BitstoIntegralSizedGHC.Num fromInteger