h$B;q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None9witch3This type class is for converting values from some source type into some other target type. The constraint Cast source target2 measn that you can convert from a value of type source into a value of type target.This type class is for conversions that cannot fail. If your conversion can fail, consider implementing TryCast instead.witchThis method implements the conversion of a value between types. At call sites you will usually want to use from or into instead of this method.7The 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 Cast Name Stringinstance Cast String Name Safe-Inferred witch=Never use this type for anything! It only exists to make the  type family non-trivial.witchThis is an ugly hack used to make GHC require type applications for certain functions. See this Twitter thread for a discussion:  ;https://twitter.com/taylorfausak/status/1329084033003782148. Safe-Inferred witch This exception is thrown when a TryCast( conversion fails. It has the original source0 value that caused the failure and it knows the target% type it was trying to convert into. Safe-Inferred  witch3This type class is for converting values from some source type into some other target type. The constraint TryCast 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 fail. If your conversion cannot fail, consider implementing Cast instead. witchThis method implements the conversion of a value between types. At call sites you will usually want to use tryFrom or tryInto instead of this method.  None' witchThis is the same as  except that it requires a type application. 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 5 except that it requires a type application for the source type. 7-- Avoid this: cast (x :: s) -- Prefer this: from @s x witchThis is the same as 5 except that it requires a type application for the target type. 5-- Avoid this: cast 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 . from @s -- 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  5 except that it requires a type application for the source type. =-- Avoid this: tryCast (x :: s) -- Prefer this: tryFrom @s xwitchThis is the same as  5 except that it requires a type application for the target type. -- Avoid this: tryCast x :: Either (TryCastException 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: fmap (tryFrom @u) . tryInto @u -- Prefer this: tryVia @uwitchThis function is like   except that it will throw an impure exception if the conversion fails. -- Avoid this: either throw id . cast -- Prefer this: unsafeCastwitchThis function is like   except that it will throw an impure exception if the conversion fails. -- Avoid this: either throw id . from @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 . into @t -- Prefer this: unsafeInto @t  Nonewitch This is like ; except that it works at compile time rather than runtime. -- Avoid this: unsafeCast "some literal" -- Prefer this: $$(liftedCast "some literal")witch This is like ; except that it works at compile time rather than runtime. -- Avoid this: unsafeFrom @s "some literal" -- Prefer this: $$(liftedCast @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: $$(liftedCast @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 . Some " values cannot be represented in # and will be replaced with 'xFFFD'.!witchUses ."witchUses .#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 .0witchUses .1witchUses .2witchUses .3witchUses .4witchUses . If there are duplicate keys, later values will overwrite earlier ones.5witchUses .6witchUses . If there are duplicate keys, later values will overwrite earlier ones.7witchUses .8witchUses .9witchUses .:witchUses .;witchUses .<witchUses .=witchUses  when the imaginary part is 0.>witchUses  with an imaginary part of 0.?witchUses  . This means cast (3.00 :: Centi) is 300 rather than 3.@witchUses  . This means cast 2 :: Centi is 0.02 rather than 2.00.AwitchUses (. This necessarily loses some precision.BwitchUses (. This necessarily loses some precision.CwitchUses  when the denominator is 1.DwitchUses  with a denominator of 1.EwitchUses (. This necessarily loses some precision.FwitchUses ' when the input is not NaN or infinity.Gwitch Converts via .Hwitch Converts via .Iwitch Converts via .Jwitch Converts via .Kwitch Converts via .Lwitch Converts via .Mwitch Converts via  when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.Nwitch Converts via .Owitch Converts via .Pwitch Converts via .Qwitch Converts via .Rwitch Converts via .SwitchUses .TwitchUses ' when the input is not NaN or infinity.Uwitch Converts via .Vwitch Converts via .Wwitch Converts via .Xwitch Converts via .Ywitch Converts via .Zwitch 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 .awitchUses  when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.bwitchUses  when the input is between -16,777,215 and 16,777,215 inclusive.cwitchUses .dwitchUses .ewitchUses .fwitchUses .gwitchUses .hwitchUses .iwitchUses .jwitchUses .kwitchUses .lwitchUses .mwitchUses .nwitchUses  when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.owitchUses  when the input is between -16,777,215 and 16,777,215 inclusive.pwitchUses .qwitchUses .rwitchUses .switchUses .twitchUses .uwitchUses .vwitchUses .wwitchUses .xwitchUses .ywitchUses .zwitchUses .{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 .~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 .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 non-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 non-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 non-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 non-negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is non-negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses  when the input is non-negative.witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .witchUses .None;E          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$witch-0.1.0.0-DnAZQ6HuJIJA1ERFQX1663 Witch.CastWitch.IdentityWitch.TryCastException Witch.TryCast Witch.Utility Witch.LiftWitch.InstancesWitchCastcastNeverIdentityTryCastException$fExceptionTryCastException$fShowTryCastException$fEqTryCastExceptionTryCasttryCastasfromintooverviatryFromtryIntotryVia unsafeCast unsafeFrom unsafeInto liftedCast liftedFrom liftedIntofromNonNegativeIntegral maybeTryCastmaxFloat maxDouble$fCastTextByteString$fCastTextText $fCastText[] $fCast[]Text$fCastTextByteString0$fCastTextText0 $fCastText[]0 $fCast[]Text0$fCastShortByteStringByteString$fCastShortByteString[]$fCast[]ShortByteString$fTryCastByteStringText$fCastByteStringByteString$fCastByteString[]$fCast[]ByteString$fTryCastByteStringText0$fCastByteStringShortByteString$fCastByteStringByteString0$fCastByteString[]0$fCast[]ByteString0 $fCastSeq[] $fCast[]Seq$fCastIntMap[]$fCast[]IntMap $fCastMap[] $fCast[]Map$fCastIntSet[]$fCast[]IntSet $fCastSet[] $fCast[]Set$fCastNonEmpty[]$fTryCast[]NonEmpty$fTryCastComplexa$fCastaComplex$fCastFixedInteger$fCastIntegerFixed$fCastRatioDouble$fCastRatioFloat$fTryCastRatioa $fCastaRatio$fCastDoubleFloat$fTryCastDoubleRatio$fTryCastDoubleNatural$fTryCastDoubleWord$fTryCastDoubleWord64$fTryCastDoubleWord32$fTryCastDoubleWord16$fTryCastDoubleWord8$fTryCastDoubleInteger$fTryCastDoubleInt$fTryCastDoubleInt64$fTryCastDoubleInt32$fTryCastDoubleInt16$fTryCastDoubleInt8$fCastFloatDouble$fTryCastFloatRatio$fTryCastFloatNatural$fTryCastFloatWord$fTryCastFloatWord64$fTryCastFloatWord32$fTryCastFloatWord16$fTryCastFloatWord8$fTryCastFloatInteger$fTryCastFloatInt$fTryCastFloatInt64$fTryCastFloatInt32$fTryCastFloatInt16$fTryCastFloatInt8$fTryCastNaturalDouble$fTryCastNaturalFloat$fCastNaturalInteger$fTryCastNaturalInt$fTryCastNaturalInt64$fTryCastNaturalInt32$fTryCastNaturalInt16$fTryCastNaturalInt8$fTryCastNaturalWord$fTryCastNaturalWord64$fTryCastNaturalWord32$fTryCastNaturalWord16$fTryCastNaturalWord8$fTryCastWordDouble$fTryCastWordFloat$fCastWordInteger$fTryCastWordInt$fTryCastWordInt64$fTryCastWordInt32$fTryCastWordInt16$fTryCastWordInt8$fCastWordNatural$fCastWordWord64$fTryCastWordWord32$fTryCastWordWord16$fTryCastWordWord8$fTryCastWord64Double$fTryCastWord64Float$fCastWord64Integer$fTryCastWord64Int$fTryCastWord64Int64$fTryCastWord64Int32$fTryCastWord64Int16$fTryCastWord64Int8$fCastWord64Natural$fTryCastWord64Word$fTryCastWord64Word32$fTryCastWord64Word16$fTryCastWord64Word8$fCastWord32Double$fTryCastWord32Float$fCastWord32Integer$fTryCastWord32Int$fCastWord32Int64$fTryCastWord32Int32$fTryCastWord32Int16$fTryCastWord32Int8$fCastWord32Natural$fTryCastWord32Word$fCastWord32Word64$fTryCastWord32Word16$fTryCastWord32Word8$fCastWord16Double$fCastWord16Float$fCastWord16Integer$fCastWord16Int$fCastWord16Int64$fCastWord16Int32$fTryCastWord16Int16$fTryCastWord16Int8$fCastWord16Natural$fCastWord16Word$fCastWord16Word64$fCastWord16Word32$fTryCastWord16Word8$fCastWord8Double$fCastWord8Float$fCastWord8Integer$fCastWord8Int$fCastWord8Int64$fCastWord8Int32$fCastWord8Int16$fTryCastWord8Int8$fCastWord8Natural$fCastWord8Word$fCastWord8Word64$fCastWord8Word32$fCastWord8Word16$fTryCastIntegerDouble$fTryCastIntegerFloat$fTryCastIntegerNatural$fTryCastIntegerWord$fTryCastIntegerWord64$fTryCastIntegerWord32$fTryCastIntegerWord16$fTryCastIntegerWord8$fTryCastIntegerInt$fTryCastIntegerInt64$fTryCastIntegerInt32$fTryCastIntegerInt16$fTryCastIntegerInt8$fTryCastIntDouble$fTryCastIntFloat$fTryCastIntNatural$fTryCastIntWord$fTryCastIntWord64$fTryCastIntWord32$fTryCastIntWord16$fTryCastIntWord8$fCastIntInteger$fCastIntInt64$fTryCastIntInt32$fTryCastIntInt16$fTryCastIntInt8$fTryCastInt64Double$fTryCastInt64Float$fTryCastInt64Natural$fTryCastInt64Word$fTryCastInt64Word64$fTryCastInt64Word32$fTryCastInt64Word16$fTryCastInt64Word8$fCastInt64Integer$fTryCastInt64Int$fTryCastInt64Int32$fTryCastInt64Int16$fTryCastInt64Int8$fCastInt32Double$fTryCastInt32Float$fTryCastInt32Natural$fTryCastInt32Word$fTryCastInt32Word64$fTryCastInt32Word32$fTryCastInt32Word16$fTryCastInt32Word8$fCastInt32Integer$fTryCastInt32Int$fCastInt32Int64$fTryCastInt32Int16$fTryCastInt32Int8$fCastInt16Double$fCastInt16Float$fTryCastInt16Natural$fTryCastInt16Word$fTryCastInt16Word64$fTryCastInt16Word32$fTryCastInt16Word16$fTryCastInt16Word8$fCastInt16Integer$fCastInt16Int$fCastInt16Int64$fCastInt16Int32$fTryCastInt16Int8$fCastInt8Double$fCastInt8Float$fTryCastInt8Natural$fTryCastInt8Word$fTryCastInt8Word64$fTryCastInt8Word32$fTryCastInt8Word16$fTryCastInt8Word8$fCastInt8Integer $fCastInt8Int$fCastInt8Int64$fCastInt8Int32$fCastInt8Int16ghc-primGHC.PrimcoercebaseGHC.Baseid GHC.TypesFloatDouble#text-1.2.4.1-GP7eNhmR25pL86hGhau2f1Data.Text.Lazy.Encoding encodeUtf8Data.Text.LazytoStrictunpackpackCharData.Text.Internal.LazyTextData.Text.Encoding fromStrictData.Text.Show Data.TextData.Text.Internal+bytestring-0.10.12.1-GAiXzE3dBr4BDIhRw30d1xData.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:+ Data.FixedMkFixedGHC.Real fromRational numerator% realToFrac toRationalinteger-wired-inGHC.Integer.TypeIntegerRational fromIntegral Data.BitstoIntegralSizedGHC.Num fromInteger