úÎYïNÈC      !"#$%&'()*+,-./0123456789:;<=>?@AB None+5DLike  , but for l and r taking four type indexes.Like  , but for l and r taking three type indexes. Like  , but for l and r taking two type indexes.Like  from Data.Functor.Sum6, but only intended to be used with kinds other than Type.?This type is particularly useful when used in combination with  as  ( l r), so as to ensure that l and r* are indexed by the same type. Moreover, . already supports many common instances from base, hashable, deepseq, aeson, bytes, cereal, binary, and  quickcheck6 out of the box, so you can benefit from them as well., CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab  $  CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abNone+5DLike  , but for l and r taking four type indexes.Like  , but for l and r taking three type indexes.Like  , but for l and r taking two type indexes.Like  from Data.Functor.Product6, but only intended to be used with kinds other than Type.?This type is particularly useful when used in combination with  as  ( l r), so as to ensure that l and r* are indexed by the same type. Moreover, . already supports many common instances from base, hashable, deepseq, aeson, bytes, cereal, binary, and  quickcheck6 out of the box, so you can benefit from them as well.(cdefghijklmnopqrstuvwxyz{|}~€‚$cdefghijklmnopqrstuvwxyz{|}~€‚ None+,:<=ADORT Runtime lookup of the  c (f1 a1) instance.!! is a bit different from , ƒ, etc. in that it looks up an instance for the singleton type itself, and not for some other type indexed by said singleton type."Runtime lookup of the c a0 instance.3Like /, but takes an explicit  besides the  instance.4Like 0, but takes explicit s besides the  instances.5Like 1, but takes explicit s besides the  instances.6Like 2, but takes explicit s besides the  instances..ƒ„ !"#$%&'()*+,-./0123456789:;<=>?@AB…†* !"#$%&'()*+,-./0123456789:;<=>?@AB%ƒ„ !"#$%&'()*+,-./0123456789:;<=>?@AB…† None+,:DT‡ˆ‰Š‡ˆ‰Š None+,DT‹5Some salt we add to hashes calculated in this module.‹ŒŽ‹ŒŽ None+,DT‘’“‘’“ None+,DT”Compatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.–Compatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.—Compatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.˜Compatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.”–—˜”–—˜None+,DT™Compatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.šCompatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.›Compatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.œCompatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.™š›œ™š›œNone+,DTCompatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.žCompatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.ŸCompatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well. Compatible with the  instance and  instance, provided all of the •s and the fully applied f" instances are compatible as well.žŸ žŸ None*+,9;<=DQRT[¡LWe use nested 2-tuples instead of 4-tuples because it's easier to implement.¢TODO: Mak1e this logarithmic.£LWe use nested 2-tuples instead of 3-tuples because it's easier to implement.¤TODO: Mak1e this logarithmic.¥TODO: Mak1e this logarithmic.¦TODO: Mak1e this logarithmic.§TODO: Make this logarithmic.2¨©ª¡¢«£¤¬­¥®¦¯°±²³´µ¶·§¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ,¨©ª¡¢«£¤¬­¥®¦¯°±²³´µ¶·§¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒNone+,DTÓÔÕÖרÙÚÓÔÕÖרÙÚNoneC  !"#$%&'()*+,-./0123456789:;<=>?@ABC)*+7;/3? '(,8<04@%&-9=15A#$.:>26B!"  Û !"#$%&'()*+,-..//0011 2 3 4 5 6 7 8 9 : ; < < = = > >   ? @ A B C D E F G H I J K L M N O P Q R S T U VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•– — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨© ª « ¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄ<Å=Æ>ÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêë!exinst-0.4-FNKDAZZcpupKUK70qgkf79ExinstExinst.Internal.SumData.Functor.SumSumSome1Exinst.Internal.ProductData.Functor.ProductProductExinst.InternalExinst.Instances.QuickCheckExinst.Instances.HashableExinst.Instances.DeepSeqExinst.Instances.CerealData.Bytes.SerialSerial Data.BinaryBinaryExinst.Instances.BytesData.Serialize SerializeExinst.Instances.BinaryExinst.Instances.BaseExinst.Instances.Aesonghc-prim GHC.Types Constraint(constraints-0.9.1-ADQinFPdVCH5UvxP4ivxFhData.ConstraintDict%singletons-2.2-5sPKGH65fdL9AOYZWYygxxData.SingletonsSingSingIS4S4LS4RS3S3LS3RS2S2LS2RS1S1LS1RP4P3P2P1Dict4dict4Dict3dict3Dict2dict2Dict1dict1Dict0dict0Some4Some3Some2some1some2some3some4 withSome1 withSome2 withSome3 withSome4 withSome1Sing withSome2Sing withSome3Sing withSome4Sing fromSome1 fromSome2 fromSome3 fromSome4_Some1_Some2_Some3_Some4 some1SingRep some2SingRep some3SingRep some4SingRep $fArbitraryS4 $fArbitraryS3 $fArbitraryS2 $fArbitraryS1 $fBinaryS4 $fBinaryS3 $fBinaryS2 $fBinaryS1 $fSerializeS4 $fSerializeS3 $fSerializeS2 $fSerializeS1 $fSerialS4 $fSerialS3 $fSerialS2 $fSerialS1 $fToJSONS4 $fToJSONS3 $fToJSONS2 $fToJSONS1 $fFromJSONS4 $fFromJSONS3 $fFromJSONS2 $fFromJSONS1 $fNFDataS4 $fNFDataS3 $fNFDataS2 $fNFDataS1 $fHashableS4 $fHashableS3 $fHashableS2 $fHashableS1 $fArbitraryP4 $fArbitraryP3 $fArbitraryP2 $fArbitraryP1 $fBinaryP4 $fBinaryP3 $fBinaryP2 $fBinaryP1 $fSerializeP4 $fSerializeP3 $fSerializeP2 $fSerializeP1 $fSerialP4 $fSerialP3 $fSerialP2 $fSerialP1 $fToJSONP4 $fToJSONP3 $fToJSONP2 $fToJSONP1 $fFromJSONP4 $fFromJSONP3 $fFromJSONP2 $fFromJSONP1 $fNFDataP4 $fNFDataP3 $fNFDataP2 $fNFDataP1 $fHashableP4 $fHashableP3 $fHashableP2 $fHashableP1Prism'Prismprismprism'$fArbitrarySome4$fArbitrarySome3$fArbitrarySome2$fArbitrarySome1salt0$fHashableSome4$fHashableSome3$fHashableSome2$fHashableSome1 $fNFDataSome4 $fNFDataSome3 $fNFDataSome2 $fNFDataSome1$fSerializeSome4 DemoteRep$fSerializeSome3$fSerializeSome2$fSerializeSome1 $fSerialSome4 $fSerialSome3 $fSerialSome2 $fSerialSome1 $fBinarySome4 $fBinarySome3 $fBinarySome2 $fBinarySome1 Cartesian4 Eithers4' Cartesian3 Eithers3' Eithers2' Eithers1' $fInjEitheraInjinjprjEithers4Eithers3 Cartesian2Eithers2Eithers1 Some4'Show Some3'Show Some2'Show Some1'Show $fInjEithera0$fInjaa$fDict4k1k2k3Boolk0cf$fDict3k1k2Boolk0cf$fDict2k1Boolk0cf$fDict1Boolk0cf $fDict0Boolc$fGenericSome4$fGenericSome3$fGenericSome2$fGenericSome1 $fOrdSome4 $fOrdSome3 $fOrdSome2 $fOrdSome1 $fEqSome4 $fEqSome3 $fEqSome2 $fEqSome1 $fReadSome4 $fReadSome3 $fReadSome2 $fReadSome1 $fShowSome4 $fShowSome3 $fShowSome2 $fShowSome1$fFromJSONSome4$fFromJSONSome3$fFromJSONSome2$fFromJSONSome1 $fToJSONSome4 $fToJSONSome3 $fToJSONSome2 $fToJSONSome1