úÎô(Œ*ÿW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„ … † ‡ ˆ ‰ Š ‹ Œ ‘ ’ “ ” • –—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ± ²!³!´"µ"¶#·#¸$¹%º&»'¼'½'¾'¿'À'Á(Â(Ã(Ä(Å(Æ(Ç(È(É(Ê(Ë(Ì(Í(Î(Ï(Ğ(Ñ(Ò(Ó(Ô(Õ(Ö(×(Ø(Ù(Ú(Û(Ü(İ(Ş(ß(à(á(â(ã(ä(å(æ(ç(è(é(ê(ë(ì(í)î)ï)ğ)ñ)ò)ó)ô)õ)ö)÷)ø)ù)ú)û)ü)ı)ş)ÿ))*+++++++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+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.V.6Safe±Safe/SafeCVcWXYZ[\]^_`Safe;=VîNone*ÿíabcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ       !"#$%&'()*+,-./0123456789:;<=>?@<  !"#$%&'()*+,-./0123456789:;<=>?@ 10None$  None1$Ëÿabcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨«¬­®¯°±²³´µ¶·¹º»¼½¾¿ÀÁÂÃÄÅÆÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZKLMJINOPQRSTHABCDEFGUVWXYZABCDEFG1None5˜!"#$%&'()*+,-./0123456!"#$%*)('&None16[^qonlkjigfc`pmahe_bdrstuvw^_`abcdefghijklmnopqrstuvw^_`abcdefghijklmnopqNoneQV7ÌzzNone%8 {|}~€‚ƒ ƒ‚{|}~€{|}~€ None8­„„789: None8ş^†‡ˆ^†‡ˆ2None9V; None9“ ‰Š‹Œ‘’ ‰Š‹Œ‘’‰Š‹Œ3None%:4<=> None:y““ None:¹”•”•None;––?@ABCDNone;Z™™None;šš›š›None;✜None<*None|¤‰ for JSON¤¤None>¼¥¥4NoneP®E!Information on argument positionsF&Monad that collects required instancesG'What argument of the current data type?H$What argument position of that type?I'What kind of traversal are we deriving?J#On what position are we traversing?K covariant?Lname of the traversal functionMIdentity traversalN Traversal of aO Apply the sub-traversal functionP-Apply two non-identity traversals in sequenceQTraverse a function typeR)Construct a tuple from applied traversalsS-Construct a data type from applied traversalsT,Construct a clause of the traversal functionU?An expression representing a traversal of a subpart of the dataV:Derivation for a Traversable like class with just 1 methodW8Instance for a Traversable like class with just 1 methodX%Instance for a Traversable like classY Derive a Z like function[Derive a clause of a Z like function for a constructor\Derive a traversal for a type]AFind all arguments to a type application, then derive a traversal^6Lift a traversal to the argument of a type constructor_pPosition of an argument in the data type In the type "data X a b c" positions are: a -> 3, b -> 2, c -> 1I`JKLMNOPQRSTaVWXYbcGHI `JKLMNOPQRSTNoneQu¦¦NoneQµ§§NoneQõ¨¨NoneR5©ª©ªNoneR}«¬«¬NoneRÅ­­NoneS®¯®¯ NoneSM°±°±!NoneS•²³²³"NoneSİ´µ´µ#NoneT%¶·¶·$NoneTm¸¸%NoneT­&‰“”•–™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹‰¹5NoneU…d6NoneUº&NoneUÿºº'SafeVG»¼½¾¿À»¼½¾¿À(None%;=>?VVïÁÂÁÂÁe)NoneWHíîïğñòóôõö÷øùúûüışÿîíïğñòóôõö÷øùúûüışÿ*NoneXĞ*Expand type synonyms in a data declaration+None;=yfVThis class is used to overload literal construction based on the type of the literal.ÍThe class used to overload lifting operations. To reduce code duplication, we overload the wrapped constructors (and everything else, but that's irrelevant) to work in patterns, expressions, and types.TBuild an application node, with a name for a head and a provided list of arguments.Reference a named variable. Lift a TH fTupling Listing)A simple clause, without where or guards."A default clause with N arguments.A simple Val clause¸We provide 3 standard instance constructors instance_default requires C for each free type variable instance_none requires no context instance_context requires a given contextzBuild an instance of a class for a data type, using the heuristic that the type is itself required on all type arguments.PBuild an instance of a class for a data type, using the class at the given types5Build a type signature declaration with a string name"Build a fundecl with a string name.Build an application node without a given head.Common pattern: list of a familiy of variables#Variable based on a letter + number@Make a list of variables, one for each argument to a constructor +Make a simple pattern to bind a constructor! Reference the constructor itself:”Build a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically);”Build a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)<”Build a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)=”Build a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)>”Build a chain of expressions, with an appropriate terminal sequence__ does not require a unit at the end (all others are optimised automatically)? K-way liftM>      !"#$%&'()*+,-./0123456789:;<=>?I    A@ DCBJIHGFE !"#$%&')*(+,-./0123456879:;<>=?   ,None{åKLMKML-None~YNKThe type of ways to derive classes. Should not really be in this module!PThe derivation function properQThe name of the derivationÿcghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïfğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklíîïğñòóôõö÷øùúûüışÿ      !"#$%&'()*+,-./0123456789:;<=>?KLMNOQPRSNOPQRSNOPQ.None‹tT"Derive an instance of some class. derive6 only derives instances for the type of the argument.V"Derive an instance of some class.  deriveFromDec6 only derives instances for the type of the argument.)‰“”•–™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹TUVTUVm789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²²³´µ¶·¸¹ º » ¼ ½ ¾ ¿ ¿ À Á Â Ã Ä Å Æ Ç È É ÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãä å æ!ç!è"é"ê#ë#ì$í%î6ï'ğ'ñ'ò'ó'ô'õ(ö(÷(ø(ù(ú(û(ü(ı(ş(ÿ(((((((((( ( ( ( ( ((((((((((((((((((( (!)")#)…)$)%)&)‡)ˆ)')‰)()))*)+),)-).)/)0)1*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+V+ª+W+X+Y+Z+[+©+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x,y,z,{-¿-¿-|-À-}-~.º..€‚ƒ/„/…/†/‡/‡/€/€/ˆ/‰Š‹ŒŠ‹Š‹Š‹Š‹Š‹‘Š‹’Š‹“Š‹”Š‹•Š–—Š–˜Š–™Š–šŠ–›Š–œŠ–Š–Š–ŸŠ– Š–¡Š–¢Š–£Š–¤Š–¥Š–¦Š–§Š–¨Š–©Š–ªŠ–«Š–¬Š–­Š–®Š–¯Š–°Š–±Š–²Š–³Š–´Š–µŠ–¶Š–·Š–¸Š–¹Š–ºŠ–»Š–¼Š–½Š–¾Š–¿Š–ÀŠÁŠÁÊÄÅŠÄÆŠÄÇŠÄÈŠÄÉŠÄÊŠÄËŠÄÌŠÄÍŠÄΊÄÏŠÄĞŠÄÑŠÄÒŠÄÓŠÄÔŠÄÕŠÄÖŠÄ×ŠÄØŠÄÙŠÄÚŠÄÛŠÄÜŠÄÜŠÄİŠÄİŠÄŞŠÄŞŠÄߊÄߊÄàŠÄáŠÄáŠâãŠâäŠåæŠåçŠåèŠåéŠåêŠåëŠåìŠåíŠåîŠåïŠåğŠåñŠåòŠåóŠåôŠåõŠåöŠå÷ŠåøŠåùŠåúŠåûŠåüŠåıŠåşŠåÿŠåŠåŠåŠåŠåŠåŠåŠåŠåŠå Šå Šå Šå Šå ŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠåŠå Šå!Šå"Šå#Šå$Šå%Šå&Šå'Šå(Šå)Šå*Šå+Šå,Šå-Šå.Šå/Šå0Šå1Šå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ŠåVŠåWŠåXŠåYŠåZŠå[Šå\Šå]Šå^Šå_Šå`ŠåaŠåbŠåcŠådŠåeŠåfŠågŠåhŠåiŠåjŠåkŠålŠåmŠånŠåoŠåpŠåqŠårŠåsŠåtŠåuŠåvŠåwŠåxŠåyŠåzŠå{Šå|Šå}Š~Š~€Š~Š~‚Š~ƒŠ~„Š~…Š~†Š~‡Š~ˆŠ~ˆŠ~‰Š~ŠŠ~‹Š~ŒŠ~Š~Š~БВВГГД•Š”–Š”—Š”˜Š”™Š”šŠ”šŠ”›Š”œŠŠŸŠ Š¡Š¢Š£Š¤Š¥Š¦Š§Š¨Š©ŠªŠªŠ«Š¬Š­Š®Š¯Š°Š±Š²Š³Š´ŠµŠ¶·Š¶¸Š¶¹Š¶ºŠ¶»Š¶¼Š¶½Š¶¾Š¶¿Š¶ÀжÁŠ¶ÂŠ¶ÃŠ¶ÄŠ¶ÅŠ¶ÆŠ¶ÇŠ¶ÈŠ¶ÉŠ¶ÊŠ¶ËŠ¶ÌŠ¶ÍŠ¶ÎŠ¶ÏŠ¶ĞŠ¶ÑŠ¶ÒŠ¶ÓŠ¶ÔŠ¶ÕŠ¶ÖŠ¶×Š¶ØŠ¶ÙŠ¶ÚŠ¶ÛŠ¶ÜŠ¶İŠ¶ŞŠ¶ßŠ¶àŠ¶áŠ¶âŠ¶ãŠ¶ãŠ¶äŠ¶åŠ¶æŠ¶çŠ¶èŠ¶éŠ¶êŠ¶ëŠ¶ìŠ¶íŠ¶îŠ¶ïŠ¶ğжñжòжóжôжõжöж÷жøŠ¶ùжúжûжüжıжşŠ¶şŠ¶ÿжжжжжжжжжжжжж ж ж ж ж жжжжжжжжжжжжжжжжжжжжж ж!ж"ж#ж$ж%ж&ж?ж'ж(ж)ж*ж+ж,ж-ж.ж/ж0ж1ж2ж3ж4ж5ж6ж7ж8ж9ж:ж;ж<ж=ж>ж?ж@жAжBжCжDжEжFжFжGжHжIжJжKжLжMжNжOжPжQжRжSжTжUжVжWжXжXжYжZж[ж\ж]ж^ж_ж`жaжbжcжdжeжfжgжhжiжiжjжkжlжmжmжnжnжoжpжpжqжqжrжsжtжtж#жuжvжwжxжyж"жzж{ж|ж}ж~жж€Š¶Š¶‚жƒŠ¶„ж…ж†Š¶‡Š¶ˆŠ¶‰Š¶‰Š¶ŠŠ¶‹Š¶ŒŠ¶Š¶Š¶Š¶Š¶‘ж’ж“ж”ж•ж–ж—ж˜Š¶™Š¶šŠ¶›Š¶œŠ¶Š¶Š¶ŸŠ¶ Š¶¡Š¶¢Š¶£Š¶£Š¶¤Š¶¥Š¶¦Š¶§Š¶¨Š¶©Š¶ªŠ¶«Š¶¬Š¶­Š¶®Š¶¯Š¶°Š¶°Š¶±Š¶²Š¶³Š¶´Š¶µŠ¶¶Š¶·Š¶¸Š¶¹Š¶ºŠ¶»Š¶¼Š¶½Š¶¾Š¶›Š¶™Š¶¿Š¶ÀжÁŠ¶ÂŠ¶ÃŠ¶ÄŠ¶ÅŠ¶ÆŠ¶ÇŠ¶ÈŠ¶ÉŠ¶ÊŠ¶Ëж–Š¶ÌŠ¶ÍŠ¶ÎŠ¶ÏŠ¶ĞŠ¶ÑŠ¶ÒŠ¶ÓŠ¶ÔŠ¶ÕŠ¶ÖŠ¶×Š¶ØŠ¶ÙжœŠ¶ÚŠ¶ÛŠ¶ÜŠ¶İŠ¶ŞŠ¶ßŠ¶àŠ¶áŠ¶âŠ¶ãŠ¶äŠ¶åŠ¶æŠ¶çŠ¶èŠ¶éŠ¶êŠ¶ëŠ¶ìŠ¶íŠ¶îŠ¶ïŠ¶ğжñжòжóжôжõжöж÷жøŠ¶ùжúжûжüжıжşŠ¶ÿжÿжжжжжжжжжжж ж ж ж ж жжжжжжжжжжжжжжжжжжж ж!ж"ж#ж"ж$ж%ж&ж'ж(ж(ж)ж)ж*ж+ж,ж-ж.ж/ж0ж1ж2ж3ж4ж5ж6ж7ж8ж9ж:ж;ж<ж=ж>ж?ж@жAжBжCжDжEжEжFжGжHжIжJжKжLжMжNжOжPжQжRжSжTжUжVжWжXжYжZж[ж\ж]ж^ж_ж_ж`жaжbжcжdжeжeжfжgжhжhжiжjжkŠlmŠlnŠloŠlpŠlqŠlrŠlsŠltŠluŠlvŠlwŠlxŠlyŠlzŠl{Šl|Šl}Šl~Šl~ŠlŠl€ŠlŠl‚Šl‚ŠlƒŠl„Šl…Šl†Šl‡ŠlˆŠlˆŠl‰ŠlŠŠl‹Šl‹ŠlŒŠlŠlŠlŠlŠl‘Šl’Šl“Šl”Š•–Š•—Š•˜Š•™Š•šŠ•›Š•œŠ•ЕЕŸŠ• Š•¡Š•¢Š•£Š•¤Š•¥Š•¦Š•§Š•¨Š•©Š•ªŠ•«Š•¬Š•­Š•®Š•¯Š•°Š•±Š•²Š•³Š•´Š•µŠ•¶Š•·Š•¸Š•¹Š•ºŠ•»Š•¼Š•½Š•¾Š•¿Š•ÀŠ•ÁŠ•ÂŠ•ʕĊ•ÅŠ•ÆŠ•ÇŠ•ÈŠ•ÉŠ•ÊŠ•ËŠ•ÌŠ•ÍŠ•Ί•ÏŠ•ĞŠ•ÑŠ•ÒŠ•ÓŠ•ÔŠ•ÕŠ•ÖŠ•׊•ØŠ•ÙŠ•ÚŠ•ÛŠ•ÜŠ•İŠ•ŞŠ•ߊ•àŠ•áŠ•âŠ•ãŠ•äŠ•åŠ•æŠ•çŠ•èŠ•éŠ•êŠ•ëŠ•ìŠ•íŠ•îŠ•ïŠ•ğŠ•ñŠ•òŠ•óŠ•ôŠ•õŠ•öŠ•÷Š•øŠ•ùŠ•úŠ•ûŠ•üŠ•ıŠ•şŠ•ÿЕЕЕЕЕЕЕЕЕЕ Š• Š• Š• Š• 0000000x0 0!0"0#0$0%0&0'1(1)11*1*1+1,1-1.1/101112131415161718191:1; < < = >2?3@3A3BCDEFGH4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]^_4`4a4b4c4d4M4e4f4f5g(hijÏijkijlijmijnijoijpijqijrijsijtijuijvijwijxijyijÉijzij{ij|ij}ij~ijij€ijij‚ijƒij„ij…ij†ij‡ijˆij‰ijŠij‹ijŒijijijijij‘ij’ij“ijnijnij”ij”ij•ij•ij–ij.ij—ij˜ij™ijšij›ijœijijijŸij ij¡ij¢ij£ij¤ij¥ij¦ij§ijŠij¨ij©ijªij«ij¬ij­ij®ij¯ij°ij±ij²ij³ij´ijµij¶ij·ij¸ij¹ijºij»ij¼ij½ij¾ij¿ijÀijÁijÂijÃijÄijÅijÆijÇijÈijÉijÊijËijÌijÍijÎijÏijĞijÑijÒijÓijÔijÕijÖijïijïij°ij°ij×ijØijÙijÚijÛijÛijÜijİijİij¨ij"ijŞijßijàij#ijáijâijãijäåæ§åæçåæè忬忭忮åæéåæ¯åæ°åæ±åæ²åæ³åæ´åæµåæ¶åæ·åæ¸åæ¹åæºåæ»åæ¼åæêåæ½åæ¾åæ¿åæÀåæëåæÁåæìåæÂåæÃåæÄåæíåæÅåæîåæï忯åæÇåæÈåæÉåæÊåæğåæËåæÌåæÍåæÎåæÏåæĞåæÑåæñåæÒåæÓåæòåæÔåæÕåæÖåæ×忨åæóåæôåæõåæÙåæÚåæÛåæÜåæİåæöåæŞåæßåæàåæáåæâåæãåæäåæååææåæ÷åæçåæèåæéåæêåæëåæìåæíåæîåæïåæğåæñåæòåæøåæùåæóåæôåæúåæûåæõåæöåæ÷åæüåæıåæøåæùåæúåæûåæüåæşåæıåæÿåæåååååijijij ij ij ij ij ijijijijijijijijijijijijijijijijijijij ij!ij"ij#ij$ij%ij&ij'ij(ij)ij*ij+ij,ij-ij.ij/ij0ij1ij2ij3ij4ij5ij6ij7ij8ij9ij:ij;ij<ij=ij>ij?ij@ijAijBijCijDijEijFijGijHijIijJijKijLijMijNijOijPijQijRijSijTijUijVijWijXijYijZij[ij\ij]ij]ij^ij^ijşijşij_ij_ij`ijaijbijcijdijeijfijüijŸijgijhijiijjijkijlijˆijˆijmijnijoijpijqijrijsijtijuijvijwijxijyijzij{ij|ij}ij}ij~ijij€ijij‚ijƒijšijšij„ij…ij†ij‡ijˆij‰ijŠij‹ijŒijijijijij‘ij’ij“ij”ij•ij–ij—ijZij˜ij™ijšij›ijœijijijŸij ij¡ij¡ij¢ij£ij£ij¤ij¤ij¥ij¦ij§ij¨ij©ijªij«ijijijijij¬ij ij ij­ij®ij(ij¯ij°ij±ij²ij³ij´ijµij¶ij·ij¶ij¸ij¹ijºij»ij¼ij½ij¾ij¿ijÀij)ij*ijÁijÂijÃijÄijÅijÆijÇijÈijÉijÊijËijÌijÍijÎijÏijĞijÑijËijÒijÓijÔijÕijÖij×ijØijØij~ijÙijçijÚijÛijÜijİijŞijßijàijáijâijãijäijZij[ijåijæijçijèijPijéijêijëijìijíijîijïğ!derive-2.6.3-A7fNIPejAPFg0bIBFQ2XData.Derive.Class.AritiesData.Derive.Class.DefaultData.Derive.Instance.AritiesLanguage.HaskellData.Derive.DSL.HSEData.Derive.DSL.DSLData.Derive.DSL.SYBData.Derive.DSL.ApplyData.Derive.DSL.DeriveData.DeriveDSLData.Derive.Internal.DerivationData.Derive.UpdateData.Derive.UniplateTypeableData.Derive.UniplateDirectData.Derive.SetData.Derive.SerializeData.Derive.SerialData.Derive.RefData.Derive.NFDataData.Derive.MonoidData.Derive.LensData.Derive.LazySetData.Derive.JSONData.Derive.IsData.Derive.HasData.Derive.FromData.Derive.FoldData.Derive.EnumCyclicData.Derive.DefaultData.Derive.DataAbstractData.Derive.BoundedData.Derive.BinaryDeferData.Derive.BinaryData.Derive.AritiesData.Derive.ArbitraryOldData.Derive.ArbitraryData.Derive.AllData.DeriveMainLanguage.Haskell.TH.CompatLanguage.Haskell.ConvertLanguage.Haskell.TH.Data!Language.Haskell.TH.ExpandSynonymLanguage.Haskell.TH.HelperLanguage.Haskell.TH.PeepholeLanguage.Haskell.TH.All Data.DeriveTHData.Derive.Internal.Instance Derive.Flags Derive.UtilsDerive.GenerateDerive.DerivationData.Derive.Internal.Traversal Derive.Test Derive.MainAritiesaritiesDefaultdef$fAritiesd_type FullDataDecl FieldDeclCtorDeclDataDecl?forallstyApps fromTyApps fromTyTuple fromTyParen fromTyParenstyRootisTyFun isTyParen fromTyList~=appPsimplify isGuardFalserenameisAtomparenslnoSlisIdenttitleqnamevarcontyVar tyVarBindtyConpVarqvop dataDeclTypedataDeclFields moduleName moduleDecls moduleImports modulePragmas showDeclstyApptyFunappsbindbinds isDataDecl dataDeclName fromDeclHead fromIParen fromInstHead dataDeclVarsdataDeclVarsStar dataDeclArity dataDeclCtors ctorDeclName ctorDeclName'ctorDeclFields ctorDeclAritydeclNameOutputOStringOIntOAppOListOIgnoreOCustomOutCtorInputsampleoutEqshowOutdataNamedataVars dataCtorsctorName ctorArity ctorIndextoInputtoOutput fromOutputcoercereadConout fromState $fEqOutput $fShowOutput $fDataOutputDSLAppConcatReverseStringShowIntIntListMapFieldMapCtorDataNameCtorName CtorIndex CtorArity FieldIndexFoldHeadTailInstance ApplicationboxnilappendfromOut simplifyDSL prettyTex $fDataDSL $fShowDSLdslSYBEnvenvInputenvCtorenvFieldenvFoldapplyenvapplyEnvderive $fShowGuess deriveDSLapplyDSL dynamicDSL DerivationderivationName derivationOpderivationParamsderivationCustom derivationDSLderivationCustomDSL customSplice customContext makeUpdatemakeUniplateTypeablecustommakeUniplateDirect $fShowAns$fEqAnsmakeSet makeSerialize dslSerialize makeSerial dslSerialmakeRef makeNFData dslNFData makeMonoidmakeLens makeLazySetmakeJSONmakeIsmakeHasmakeFrommakeFoldmakeEnumCyclic dslEnumCyclic makeDefault dslDefaultmakeDataAbstract makeBounded dslBoundedmakeBinaryDeferdslBinaryDefer makeBinary dslBinary makeArities dslAritiesmakeArbitraryOlddslArbitraryOld makeArbitrary derivations deriveMain fromTyVar instanceDdataDefinitionTypeArgsfrom_deriv_clausefrom_cxt typeToPredConvertconvert$fConvertKindType$fConvertTyVarBindTyVarBndr$fConvertTypeKind$fConvertTyVarBndrTyVarBind$fConvertTyVarBindName$fConvertFieldUpdate(,)$fConvertQualStmtStmt$fConvertStmtStmt$fConvertAltMatch$fConvertQOpExp$fConvertPatField(,)$fConvertQNameName$fConvertLiteralLit$fConvertPatPat$fConvertMaybe[]$fConvertBinds[]$fConvert[]Guard$fConvertGuardedRhs(,)$fConvertExpExp$fConvertRhsBody$fConvertMatchClause$fConvertNameName$fConvertTypeType$fConvertAsstType$fConvert(,)[]$fConvertType(,)$fConvertFieldDecl[]$fConvertConDeclCon$fConvertQualConDeclCon$fConvertDeclDec$fConvertTypeAsst$fConvertTypeType0$fConvert(,)Type$fConvertConConDecl$fConvertConQualConDecl$fConvertNameQName$fConvertNameName0$fConvertNameTyVarBind$fConvertMaybe[]0$fConvert[]Context$fConvertDecDecl $fConvert[][]CtorDefDataDefqualifiedDataName dataAritydataArgsqualifiedCtorNamectorStrictTypes ctorTypes ctorFields dropModule dropNumbernormDataunqualifiedNametypeAppeqConTisTupleT expandDataLitClitValconlKvrraw_littuplstNameLiketoName applyWith foldl1With foldr1Withsclause defclausesvalcase'->: instance_noneinstance_defaultinstance_contextsimple_instancegeneric_instancesigNfunNappvarsvrnctvctpctcl0l1l2truefalseunithNil'hZero'id'consreturn'const'hSucc'==:&&:++:>>=:>>:.:>:ap'hCons'&&::++::>>::.:: sequence__liftmk $fNameLike[]$fNameLikeName $fValconType $fValconPat $fValconExp$fLitC() $fLitC(,,) $fLitC(,)$fLitC[] $fLitCChar $fLitCIntegerpeephole replaceVars replaceVarderivationDeriver derivation derivationQderives deriveFromDecbase Data.DataData d_ctorArity d_ctorValue d_dataCtorsBoxctorTypectorRep.haskell-src-exts-1.19.1-GkIKqZuv8CjDj4xYyAfokKLanguage.Haskell.ExtsreadExtensionsparseFileContentsWithCommentsparseFileContentsWithModeparseFileContentsWithExtsparseFileContentsparseFileWithCommentsAndPragmasparseFileWithCommentsparseFileWithModeparseFileWithExts parseFileLanguage.Haskell.Exts.Build metaConPat metaFunctionnameBind patBindWherepatBind simpleFunsfungenNameswildcardnoBindsletStmtgenStmtqualStmtpParenpeListeListlistEaltGWaltcaseEletElamEdoEintPcharPstrPintEcharEstrEfunction pvarTuplevarTuplepTupletuplepAppappFuninfixApppvarqvaropsymname Language.Haskell.Exts.ExactPrint exactPrintExactPLanguage.Haskell.Exts.ParserunListOf getTopPragmasparseImportDeclWithCommentsparseImportDeclWithModeparseImportDeclparseStmtWithCommentsparseStmtWithMode parseStmtparseTypeWithCommentsparseTypeWithMode parseTypeparseDeclWithCommentsparseDeclWithMode parseDeclparsePatWithCommentsparsePatWithModeparsePatparseExpWithCommentsparseExpWithModeparseExpparseModuleWithCommentsparseModuleWithMode parseModulePragmasAndModuleNamePragmasAndModuleHeadModuleHeadAndImports NonGreedy unNonGreedyListOfLanguage.Haskell.Exts.LexerlexTokenStreamWithModelexTokenStream#Language.Haskell.Exts.InternalLexerTokenEOFAtSCCVarId LabelVarIdQVarId IDupVarId ILinVarIdConIdQConIdDVarIdVarSymConSymQVarSymQConSymIntTokFloatTok Character StringTok IntTokHash WordTokHash FloatTokHash DoubleTokHash CharacterHash StringHash LeftParen RightParen LeftHashParenRightHashParen SemiColon LeftCurly RightCurly VRightCurly LeftSquare RightSquareParArrayLeftSquareParArrayRightSquareComma Underscore BackQuoteDotDotDotColon QuoteColon DoubleColonEquals BackslashBar LeftArrow RightArrowTAppTilde DoubleArrowMinus ExclamationStar LeftArrowTailRightArrowTailLeftDblArrowTailRightDblArrowTail THExpQuote THPatQuote THDecQuote THTypQuote THCloseQuote THIdEscape THParenEscape THVarQuote THTyQuote THQuasiQuote RPGuardOpen RPGuardCloseRPCAt XCodeTagOpen XCodeTagClose XStdTagOpen XStdTagClose XCloseTagOpenXEmptyTagClose XChildTagOpenXPCDATA XRPatOpen XRPatClose PragmaEndRULESINLINEINLINE_CONLIKE SPECIALISESPECIALISE_INLINESOURCE DEPRECATEDWARNING GENERATEDCOREUNPACKNOUNPACKOPTIONSLANGUAGEANNMINIMAL NO_OVERLAPOVERLAP INCOHERENTKW_AsKW_ByKW_CaseKW_ClassKW_Data KW_Default KW_DerivingKW_DoKW_MDoKW_Else KW_Family KW_ForallKW_Group KW_HidingKW_If KW_ImportKW_InKW_Infix KW_InfixL KW_InfixR KW_InstanceKW_Let KW_Module KW_NewTypeKW_OfKW_ProcKW_RecKW_RoleKW_ThenKW_TypeKW_UsingKW_Where KW_Qualified KW_Pattern KW_Foreign KW_ExportKW_Safe KW_Unsafe KW_ThreadsafeKW_Interruptible KW_StdCallKW_CCall KW_CPlusPlus KW_DotNetKW_JvmKW_Js KW_JavaScriptKW_CApi Language.Haskell.Exts.ParseMonaddefaultParseModefromParseResult Parseableparse parseWithModeparseWithComments ParseResultParseOk ParseFailed ParseMode parseFilename baseLanguage extensionsignoreLanguagePragmasignoreLinePragmasfixitiesignoreFunctionArityLanguage.Haskell.Exts.CommentsassociateHaddockComment UnknownPragmaLanguage.Haskell.Exts.Fixityinfix_infixl_infixr_ baseFixitiespreludeFixitiesFixity AppFixity applyFixitiesLanguage.Haskell.Exts.PrettyprettyPrimWithMode prettyPrim prettyPrintprettyPrintWithModeprettyPrintStyleMode defaultModePPLayout PPOffsideRule PPSemiColonPPInLine PPNoLayoutIndentPPHsModelayout classIndentdoIndent multiIfIndent caseIndent letIndent whereIndent onsideIndentspacing linePragmasPrettyLanguage.Haskell.Exts.Syntax=~= tuple_tyconunboxed_singleton_tycon list_tycon fun_tycon unit_tycontuple_tycon_nameunboxed_singleton_tycon_namelist_tycon_namefun_tycon_nameunit_tycon_name role_name family_name forall_name capi_namejavascript_namejs_namejvm_name dotnet_namecplusplus_name ccall_name stdcall_namethreadsafe_nameinterruptible_name unsafe_name safe_name export_name star_namedot_name bang_name minus_name hiding_namequalified_nameas_nameunboxed_singleton_con tuple_conunit_conunboxed_singleton_con_namelist_cons_nametuple_con_name unit_con_name main_namemain_mod prelude_mod ModuleName SpecialConUnitConListConFunConTupleConConsUnboxedSingleConQNameQualUnQualSpecialNameSymbolIdentIPNameIPDupIPLinQOpQVarOpQConOpOpVarOpConOpCNameVarNameConNameModuleXmlPage XmlHybrid ModuleHeadExportSpecList ExportSpecEVarEAbs EThingWithEModuleContents EWildcard NoWildcard Namespace NoNamespace TypeNamespacePatternNamespace ImportDecl importAnn importModuleimportQualified importSrc importSafe importPkgimportAs importSpecsImportSpecList ImportSpecIVarIAbs IThingAll IThingWithAssoc AssocNone AssocLeft AssocRightDeclInstDecl ClassDeclTypeDecl TypeFamDeclClosedTypeFamDecl GDataDecl DataFamDecl TypeInsDecl DataInsDecl GDataInsDecl DerivDecl InfixDecl DefaultDecl SpliceDeclTypeSig PatSynSigFunBindPatBindPatSynForImpForExpRulePragmaDeclDeprPragmaDeclWarnPragmaDecl InlineSigInlineConlikeSigSpecSig SpecInlineSigInstSig AnnPragma MinimalPragma RoleAnnotDeclPatternSynDirectionUnidirectionalImplicitBidirectionalExplicitBidirectionalTypeEqn AnnotationAnnTypeAnn ModuleAnnBooleanFormula VarFormula AndFormula OrFormula ParenFormulaRoleNominalRepresentationalPhantom RoleWildcard DataOrNewDataTypeNewTypeInjectivityInfo ResultSigKindSigTyVarSigDeclHeadDHeadDHInfixDHParenDHAppInstRuleIRuleIParenInstHeadIHConIHInfixIHParenIHAppDerivingBindsBDeclsIPBindsIPBindMatch InfixMatch QualConDeclConDecl InfixConDeclRecDeclGadtDeclClsDecl ClsDataFamClsTyFamClsTyDef ClsDefSigInsDeclInsTypeInsDataInsGDataBangTypeBangedTyLazyTy NoStrictAnnot UnpackednessUnpackNoUnpackNoUnpackPragmaRhs UnGuardedRhs GuardedRhss GuardedRhsTypeTyConTyForallTyFunTyTupleTyList TyParArrayTyAppTyVarTyParenTyInfixTyKind TyPromotedTyEqualsTySpliceTyBang TyWildCard TyQuasiQuotePromotedPromotedIntegerPromotedString PromotedCon PromotedList PromotedTuple PromotedUnitBoxedUnboxed TyVarBind KindedVar UnkindedVarKindKindStarKindFn KindParenKindVarKindApp KindTupleKindListFunDepContextCxSingleCxTupleCxEmptyAsstClassAAppAInfixAIParamEqualPParenA WildCardALiteralCharFracPrimIntPrimWord PrimFloat PrimDoublePrimChar PrimStringSignSignlessNegativeExpIfConVarOverloadedLabelIPVarLitInfixAppNegAppLambdaLetMultiIfCaseDoMDoTuple TupleSectionParArrayParen LeftSection RightSection RecConstr RecUpdateEnumFrom EnumFromTo EnumFromThenEnumFromThenToParArrayFromToParArrayFromThenToListCompParComp ParArrayComp ExpTypeSigVarQuoteTypQuote BracketExp SpliceExp QuasiQuoteTypeAppXTagXETagXPcdataXExpTag XChildTag CorePragma SCCPragma GenPragmaProc LeftArrApp RightArrAppLeftArrHighAppRightArrHighAppLCaseExprHoleXNameXDomNameXAttrBracket ExpBracket PatBracket TypeBracket DeclBracketSpliceIdSplice ParenSpliceSafety PlayRiskyPlaySafePlayInterruptibleCallConvStdCallCCall CPlusPlusDotNetJvmJs JavaScriptCApi ModulePragmaLanguagePragma OptionsPragmaAnnModulePragmaToolGHCHUGSNHC98YHCHADDOCK UnknownToolOverlap Incoherent NoOverlap Activation ActiveFrom ActiveUntilRuleRuleVar TypedRuleVar WarningTextDeprTextWarnTextPatPVarPLitPNPlusK PInfixAppPAppPTuplePListPParenPRecPAsPat PWildCardPIrrPat PatTypeSigPViewPatPRPatPXTagPXETagPXPcdataPXPatTagPXRPats PQuasiQuotePBangPatPXAttrRPatOpRPStarRPStarGRPPlusRPPlusGRPOptRPOptGRPatRPOpRPEitherRPSeqRPGuardRPCAsRPAsRPParenRPPatPatField PFieldPat PFieldPunPFieldWildcardStmt Generator QualifierLetStmtRecStmtQualStmt ThenTransThenByGroupBy GroupUsing GroupByUsing FieldUpdateFieldPun FieldWildcardAlt AnnotatedamapannLanguage.Haskell.Exts.SrcLoc<^^><**<+?><++> combSpanMaybe combSpanInfoinfoSpan noSrcSpan noInfoSpanspanSize isNullSpan mergeSrcSpan mkSrcSpan srcSpanEnd srcSpanStartnoLocSrcLoc srcFilenamesrcLine srcColumnSrcSpansrcSpanFilenamesrcSpanStartLinesrcSpanStartColumnsrcSpanEndLinesrcSpanEndColumnLoclocunLoc SrcSpanInfo srcInfoSpan srcInfoPointsSrcInfo toSrcInfo fromSrcInfo getPointLocfileName startLine startColumnLanguage.Haskell.Exts.ExtensiontoExtensionListprettyExtensionparseExtensionclassifyExtensiondeprecatedExtensionsknownExtensions ghcDefault glasgowExts impliesExtsprettyLanguageclassifyLanguageknownLanguagesLanguage Haskell98 Haskell2010HaskellAllDisabledUnknownLanguage ExtensionEnableExtensionDisableExtensionUnknownExtensionKnownExtensionOverlappingInstancesUndecidableInstancesIncoherentInstancesMonomorphismRestriction MonoPatBindsMonoLocalBindsRelaxedPolyRecExtendedDefaultRulesForeignFunctionInterfaceUnliftedFFITypesInterruptibleFFICApiFFIGHCForeignImportPrim JavaScriptFFIParallelArraysArrowsTemplateHaskell QuasiQuotesImplicitParamsImplicitPreludeScopedTypeVariables UnboxedTuples BangPatterns TypeFamiliesTypeFamilyDependenciesOverloadedStringsDisambiguateRecordFieldsRecordWildCards RecordPuns ViewPatternsGADTsNPlusKPatternsDoAndIfThenElseRebindableSyntaxConstraintKinds PolyKinds DataKinds InstanceSigsStandaloneDerivingDeriveDataTypeable DeriveFunctorDeriveTraversableDeriveFoldable DeriveGenericDefaultSignaturesTypeSynonymInstancesFlexibleContextsFlexibleInstancesConstrainedClassMethodsMultiParamTypeClassesFunctionalDependencies UnicodeSyntaxExistentialQuantification MagicHashEmptyDataDeclsKindSignaturesRoleAnnotationsParallelListCompTransformListCompGeneralizedNewtypeDeriving RecursiveDoPostfixOperators TupleSections PatternGuardsLiberalTypeSynonyms RankNTypesImpredicativeTypes TypeOperatorsExplicitNamespacesPackageImportsExplicitForAllDatatypeContextsNondecreasingIndentation LambdaCase MultiWayIfBinaryLiteralsOverloadedLabels EmptyCasePatternSynonymsPartialTypeSignaturesNamedWildCardsTypeApplicationsDoRec Rank2TypesPolymorphicComponentsPatternSignaturesCPPGenericsNamedFieldPunsExtensibleRecordsRestrictedTypeSynonyms HereDocumentsNewQualifiedOperators XmlSyntaxRegularPatterns SafeImportsSafe Trustworthypretty-1.1.3.3#Text.PrettyPrint.Annotated.HughesPJMode OneLineModeLeftMode ZigZagModePageModeStyleribbonsPerLine lineLengthmodestyleFlagVersionDeriveGenerateTestHelpImportModuAppendNoOpts PreprocessorflagInfogetFlagsaddFlagsPragmaExampleSrc srcCustomsrcTest srcExample srcImportsrcName srcImportStdnullSrcreadHSEasPragmareadSrcgeneratedStart generatedStopwriteGenerated readFile'writeBinaryFilereprepsGuessGuessFldGuessCtrgenerate wantDerive performDerive writeDeriveAnsHitMissTryListHitListTry ArgPositions WithInstances_requiredDataArg_requiredPosition TraveralType traversalArg traversalCo traversalName traversalIdtraversalDirect traversalFunc traversalPlus traverseArrow traverseTuple traverseCtor traverseFuncTravtraversalDerivation1traversalInstance1traversalInstancederiveTraversalData.TraversabletraversederiveTraversalCtorderiveTraversalTypederiveTraversalApp traverseArg argPositionsdefaultTraversalTypeRequiredInstancetestconvtemplate-haskellLanguage.Haskell.TH.SyntaxreturnQbindQ sequenceQnewNamemkName mkNameG_v mkNameG_d mkNameG_tcmkNameLmkNameSunTypeQunsafeTExpCoerce liftStringLiftliftVarEConELitEAppEAppTypeEInfixEUInfixEParensELamELamCaseETupE UnboxedTupE UnboxedSumECondEMultiIfELetECaseEDoECompE ArithSeqEListESigERecConERecUpdEStaticE UnboundVarEClauseQunQLitPVarPTupP UnboxedTupP UnboxedSumPConPInfixPUInfixPParensPTildePBangPAsPWildPRecPListPSigPViewPForallTAppTSigTVarTConT PromotedTInfixTUInfixTParensTTupleT UnboxedTupleT UnboxedSumTArrowT EqualityTListTPromotedTupleT PromotedNilT PromotedConsTStarT ConstraintTLitT WildCardTDecFunDValDDataDNewtypeDTySynDClassD InstanceDSigDForeignDInfixDPragmaD DataFamilyD DataInstD NewtypeInstD TySynInstDOpenTypeFamilyDClosedTypeFamilyD RoleAnnotDStandaloneDerivD DefaultSigDPatSynD PatSynSigDFieldExpFieldPatPred TyVarBndrPlainTVKindedTVTExpunTypeInjectivityAnn Overlappable OverlappingOverlaps DerivStrategy StockStrategyAnyclassStrategyNewtypeStrategyghc-boot-th-8.2.1GHC.LanguageExtensions.TypeStrictCppUndecidableSuperClassesTemplateHaskellQuotesAllowAmbiguousTypes UnboxedSums TypeInTypeOverloadedLists NumDecimals GADTSyntax ApplicativeDoAutoDeriveTypeableDeriveAnyClass DeriveLiftDerivingStrategiesNullaryTypeClassesMonadComprehensionsAlternativeLayoutRule!AlternativeLayoutRuleTransitional RelaxedLayoutTraditionalRecordSyntaxNegativeLiteralsDuplicateRecordFieldsStaticPointers StrictDataMonadFailDesugaringGHC.ForeignSrcLang.TypeForeignSrcLangLangCLangCxxLangObjc LangObjcxxthenCmpcmpEq defaultFixity maxPrecedenceunboxedSumTypeNameunboxedSumDataNamemk_unboxed_tup_nameunboxedTupleTypeNameunboxedTupleDataName mk_tup_name tupleTypeName tupleDataName showName'showNamemkNameGmkNameU nameSpace namePackage nameModulenameBase occString mkOccName pkgString mkPkgName modString mkModName dataToPatQliftData dataToExpQdataToQa rightNameleftNamejustName nothingName falseNametrueName extsEnabled isExtEnabledputQgetQaddModFinalizeraddForeignFile addTopDeclsaddDependentFilerunIOlocation isInstancereifyConStrictness reifyModulereifyAnnotations reifyRolesreifyInstances reifyFixityreifylookupValueNamelookupTypeName lookupNamerecover reportWarning reportErrorreportrunQcounterbadIOQuasiqNewNameqReportqRecover qLookupNameqReify qReifyFixityqReifyInstances qReifyRolesqReifyAnnotations qReifyModuleqReifyConStrictness qLocationqRunIOqAddDependentFile qAddTopDeclsqAddForeignFileqAddModFinalizerqGetQqPutQ qIsExtEnabled qExtsEnabledModNamePkgNameOccName NameFlavourNameSNameQNameUNameLNameG NameSpace TcClsNameUniqNameIsInfixAloneApplied loc_filename loc_package loc_module loc_startloc_endCharPosInfoClassIClassOpITyConIFamilyI PrimTyConIDataConIPatSynIVarITyVarI ModuleInfo ParentNameSumAltSumArityArityUnlifted InstanceDecFixityDirectionInfixLInfixRInfixNCharLStringLIntegerL RationalLIntPrimL WordPrimL FloatPrimL DoublePrimL StringPrimL CharPrimLBodyGuardedBNormalBGuardNormalGPatGBindSLetSNoBindSParSRangeFromR FromThenRFromToR FromThenToR DerivClause PatSynTypeTypeFamilyHeadTySynEqn FamFlavourTypeFamDataFamForeignImportFExportFCallconvPrimUnsafe InterruptibleInlineP SpecialisePSpecialiseInstPRulePAnnPLineP CompletePInlineNoInline Inlinable RuleMatchConLikeFunLikePhases AllPhases FromPhase BeforePhaseRuleBndr AnnTargetModuleAnnotationTypeAnnotationValueAnnotationCxtSourceUnpackedness SourceUnpackSourceNoUnpackNoSourceUnpackednessSourceStrictness SourceLazy SourceStrictNoSourceStrictnessDecidedStrictness DecidedLazy DecidedStrict DecidedUnpackNormalCRecCInfixCForallCGadtCRecGadtCBang VarBangType StrictType VarStrictType PatSynDirUnidir ImplBidir ExplBidir PatSynArgs PrefixPatSyn InfixPatSyn RecordPatSynFamilyResultSigNoSigTyLitNumTyLitStrTyLitNominalRRepresentationalRPhantomRInferR AnnLookupAnnLookupModule AnnLookupName