h$G>      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None9witch3This 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. 7-- Avoid this: from (x :: s) -- Prefer this: 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 2witch 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 Fwitch3This 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.None 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 . g witchThis is the same as ; except that the type variables are in the opposite order. 5-- Avoid this: from x :: t -- Prefer this: into @t x witch!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 f witch'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 @u witchThis 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 x witchThis 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    Nonetwitch 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")None>>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.witchUses .witchUses .witchUses . witchUses .!witchUses ."witchUses .#witchUses .$witchUses .%witchUses .&witchUses .'witchUses .(witchUses .)witchUses .*witchUses .+witchUses .,witchUses .-witchUses ..witchUses ./witchUses .0witchUses .1witchUses .2witchUses .3witchUses coerce.4witch Converts via .5witch Converts via .6witchUses .7witchUses . Some " values cannot be represented in  and will be replaced with '\xFFFD'.8witchUses .9witchUses . Some ! values cannot be represented in  and will be replaced with '\xFFFD'.:witch Converts via .;witchUses .<witchUses .=witch Converts via .>witchUses .?witchUses .@witchUses .AwitchUses .BwitchUses .Cwitch Converts via .Dwitch Converts via .EwitchUses .FwitchUses .GwitchUses .HwitchUses .Iwitch Converts via .Jwitch Converts via .KwitchUses .LwitchUses .MwitchUses .NwitchUses .OwitchUses .PwitchUses .QwitchUses .RwitchUses .SwitchUses . If there are duplicate keys, later values will overwrite earlier ones.TwitchUses .UwitchUses . If there are duplicate keys, later values will overwrite earlier ones.VwitchUses .WwitchUses .XwitchUses .YwitchUses .ZwitchUses .[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.awitchUses , as long as there isn't a loss of precision.bwitchUses (. This necessarily loses some precision.cwitchUses (. This necessarily loses some precision.dwitchUses  when the denominator is 1.ewitchUses  with a denominator of 1.fwitchUses (. This necessarily loses some precision.gwitchUses ' when the input is not NaN or infinity.hwitch Converts via .iwitch Converts via .jwitch Converts via .kwitch Converts via .lwitch Converts via .mwitch Converts via .nwitch Converts via  when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.owitch Converts via .pwitch Converts via .qwitch Converts via .rwitch Converts via .switch Converts via .twitchUses .uwitchUses ' when the input is not NaN or infinity.vwitch Converts via .wwitch Converts via .xwitch Converts via .ywitch Converts via .zwitch 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 .None>           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$witch-1.0.0.1-JLoA2Cg3rRoEeX2Qz3XxXR Witch.FromWitch.TryFromException Witch.TryFrom Witch.Utility Witch.LiftWitch.InstancesWitchFromfromTryFromException$fExceptionTryFromException$fShowTryFromExceptionTryFromtryFromasintooverviatryIntotryVia maybeTryFrom eitherTryFrom unsafeFrom unsafeInto withSource withTarget liftedFrom liftedIntorealFloatToRational overPositive fromDigits makeRationalfromNonNegativeIntegralmaxFloat maxDouble$fFromZonedTimeUTCTime%$fFromNominalDiffTimeCalendarDiffTime&$fFromCalendarDiffDaysCalendarDiffTime$fFromTimeOfDayRatio$fFromTimeOfDayDiffTime$fFromRatioTimeOfDay$fFromDiffTimeTimeOfDay$fFromSystemTimeUTCTime$fFromSystemTimeAbsoluteTime$fFromUTCTimeSystemTime$fFromNominalDiffTimeUTCTime$fFromUTCTimeNominalDiffTime$fFromSystemTimeNominalDiffTime$fFromNominalDiffTimeFixed$fFromFixedNominalDiffTime$fFromDiffTimeFixed$fFromFixedDiffTime$fFromUniversalTimeRatio$fFromRatioUniversalTime$fFromDayDayOfWeek$fFromDayInteger$fFromIntegerDay&$fFromTryFromExceptionTryFromException$fFrom[]ByteString$fFrom[]ByteString0 $fFromText[] $fFrom[]Text $fFromText[]0 $fFrom[]Text0$fFromTextByteString$fFromTextByteString0$fFromTextText$fFromTextByteString1$fFromTextByteString2$fFromTextText0$fFromShortByteStringByteString$fFromShortByteString[]$fFrom[]ShortByteString$fTryFromByteString[]$fTryFromByteStringText$fTryFromByteStringText0$fFromByteStringByteString$fFromByteString[]$fFrom[]ByteString1$fTryFromByteString[]0$fTryFromByteStringText1$fTryFromByteStringText2$fFromByteStringShortByteString$fFromByteStringByteString0$fFromByteString[]0$fFrom[]ByteString2 $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 time-1.9.3&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.DaystoModifiedJulianDayModifiedJulianDay text-1.2.3.2Data.Text.Internal.LazyTextData.Text.InternalData.Text.LazyunpackpackCharData.Text.Show Data.Textbytestring-0.10.10.0Data.ByteString.Lazy.Internal ByteStringData.Text.Lazy.Encoding encodeUtf8toStrictData.ByteString.InternalData.Text.Encoding fromStrictData.ByteString.Short.Internal fromShort decodeUtf8'Data.ByteString.LazytoShortData.ByteString Data.FoldabletoListcontainers-0.6.2.1Data.Sequence.InternalfromListData.IntMap.Internal toAscListData.Map.InternalData.IntSet.InternalData.Set.InternalData.List.NonEmptynonEmpty Data.ComplexrealPart:+ toRational Data.FixedMkFixed fromRational numerator% GHC.Float double2Float floatToDigitsinteger-wired-inGHC.Integer.TypeIntegerRational float2Double fromIntegral Data.BitstoIntegralSizedGHC.Num fromInteger