úÎözÿ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$‰-./0123456789:;- .23456/7810None1%7ÿabcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º¼¾¿ÀÁÂÃÄÅÆÇÈÉÊÌÍÎÏÐÑÒÓÔÕÖרÙÚÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZKLMJINOPQRSTHABCDEFGUVWXYZABCDEFG1None6p<=>?@ABCDEFGHIJKLMNOPQ<=>?@EDCBANone173^qonlkjigfc`pmahe_bdrstuvw^_`abcdefghijklmnopqrstuvw^_`abcdefghijklmnopqNoneQV8¤zzNone%8ì {|}~€‚ƒ ƒ‚{|}~€{|}~€ None9…„„RSTU None9Ö^†‡ˆ^†‡ˆ2None:.V None:k ‰Š‹ŒŽ‘’ ‰Š‹ŒŽ‘’‰Š‹Œ3None%; WXY None;Q““ None;‘”•”•None;Ù––Z[\]^_None<2™™None ££(c) Bertram Felgenhauer 2009BSD3 experimentalportableNone?T¤‰ for JSON¤¤None?”¥¥4NoneQ†`!Information on argument positionsa&Monad that collects required instancesb'What argument of the current data type?c$What argument position of that type?d'What kind of traversal are we deriving?e#On what position are we traversing?f covariant?gname of the traversal functionhIdentity traversali Traversal of aj Apply the sub-traversal functionk-Apply two non-identity traversals in sequencelTraverse a function typem)Construct a tuple from applied traversalsn-Construct a data type from applied traversalso,Construct a clause of the traversal functionp?An expression representing a traversal of a subpart of the dataq:Derivation for a Traversable like class with just 1 methodr8Instance for a Traversable like class with just 1 methods%Instance for a Traversable like classt Derive a u like functionvDerive a clause of a u like function for a constructorwDerive a traversal for a typexAFind all arguments to a type application, then derive a traversaly6Lift a traversal to the argument of a type constructorzpPosition of an argument in the data type In the type "data X a b c" positions are: a -> 3, b -> 2, c -> 1d{efghijklmno|qrst}~bcd {efghijklmnoNoneRM¦¦NoneR§§NoneRͨ¨NoneS ©ª©ªNoneSU«¬«¬NoneS­­NoneSÝ®¯®¯ NoneT%°±°±!NoneTm²³²³"NoneTµ´µ´µ#NoneTý¶·¶·$NoneUE¸¸%NoneU…&‰“”•–™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹‰¹5NoneV]6NoneVšº&NoneV׺º'SafeW»¼½¾¿À»¼½¾¿À(None%;=>?VWÇÁÂÁÂÁ€)NoneX íîïðñòóôõö÷øùúûüýþÿîíïðñòóôõö÷øùúûüýþÿ*NoneY¨*Expand type synonyms in a data declaration+None;=z>VThis 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 Tupling 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-None1NKThe type of ways to derive classes. Should not really be in this module!PThe derivation function properQThe name of the derivationÿc‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡íîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?KLMNOQPRSNOPQRSNOPQ.NoneŒLT"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.)‰“”•–™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹TUVTUVˆ789:;<=>?@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мGмHмIмJмKмLмMмNмOмPмQмQмRмSмTмUмVмWмXмYмZм[м\м]м^м_м`мaмbмcмcмdмeмfмgмhмiмjмkмlмmмnмoмpмqмrмsмtмtмuмvмwмxмyмzм{м|м|м}м}м~ммм€Š¼€Š¼Š¼‚мƒŠ¼ƒŠ¼-м„м…м†Š¼‡Š¼ˆŠ¼,м‰Š¼ŠŠ¼‹Š¼ŒŠ¼Š¼ŽŠ¼Š¼Š¼‘м’м“м”м•м–м—м˜Š¼˜Š¼™Š¼šŠ¼›Š¼œŠ¼Š¼žŠ¼ŸŠ¼ Š¼¡Š¼¢Š¼£Š¼¤Š¼¥Š¼¦Š¼§Š¼¨Š¼©Š¼ªŠ¼«Š¼¬Š¼­Š¼®Š¼¯Š¼°Š¼±Š¼²Š¼³Š¼´Š¼µŠ¼¶Š¼¶Š¼·Š¼¸Š¼¹Š¼ºŠ¼»Š¼¼Š¼½Š¼¾Š¼¿Š¼ÀмÁŠ¼ÂŠ¼ÃŠ¼ÃŠ¼ÄŠ¼ÅŠ¼ÆŠ¼ÇŠ¼ÈŠ¼ÉŠ¼ÊŠ¼ËŠ¼ÌŠ¼ÍŠ¼ÎŠ¼ÏŠ¼ÐŠ¼›Š¼Ñм™Š¼ÒŠ¼ÓŠ¼ÔŠ¼ÕŠ¼ÖŠ¼×Š¼ØŠ¼ÙŠ¼ÚŠ¼ÛŠ¼ÜŠ¼ÝŠ¼ÞŠ¼–Š¼ßŠ¼àŠ¼áŠ¼âŠ¼ãŠ¼äŠ¼åŠ¼æŠ¼çŠ¼èŠ¼éŠ¼êŠ¼ëŠ¼ìŠ¼íŠ¼œŠ¼îŠ¼ïŠ¼ðмñмòмóмôмõмöм÷мøŠ¼ùмúмûмüмýмþмÿмммммммммм м м м м ммммммммммммммммммммм м!м"м#м$м%м&м'м(м)м*м+м,м-м.м/м0м1м2м3м4м5м6м7м8м9м5м:м;м<м=м>м>м?м?м@м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мwмxмyмzм{м|м}м}м~мм€Š¼€Š¼Š¼‚мƒŠ„…Š„†Š„‡Š„ˆŠ„‰Š„ŠŠ„‹Š„ŒŠ„Š„ŽŠ„ЄЄ‘Š„’Š„“Š„”Š„•Š„–Š„–Š„—Š„˜Š„™Š„šŠ„šŠ„›Š„œŠ„Š„žŠ„ŸŠ„ Š„ Š„¡Š„¢Š„£Š„£Š„¤Š„¥Š„¦Š„§Š„¨Š„©Š„ªŠ„«Š„¬Š­®Š­¯Š­°Š­±Š­²Š­³Š­´Š­µŠ­¶Š­·Š­¸Š­¹Š­ºŠ­»Š­¼Š­½Š­¾Š­¿Š­ÀŠ­ÁŠ­ÂŠ­ÃŠ­ÄŠ­ÅŠ­ÆŠ­ÇŠ­ÈŠ­ÉŠ­ÊŠ­ËŠ­ÌŠ­ÍŠ­ÎŠ­ÏŠ­ÐŠ­ÑŠ­ÒŠ­ÓŠ­ÔŠ­ÕŠ­ÖŠ­×Š­ØŠ­ÙŠ­ÚŠ­ÛŠ­ÜŠ­ÝŠ­ÞŠ­ßŠ­àŠ­áŠ­âŠ­ãŠ­äŠ­åŠ­æŠ­çŠ­èŠ­éŠ­êŠ­ëŠ­ìŠ­íŠ­îŠ­ïŠ­ðŠ­ñŠ­òŠ­óŠ­ôŠ­õŠ­öŠ­÷Š­øŠ­ùŠ­úŠ­ûŠ­üŠ­ýŠ­þŠ­ÿŠ­Š­Š­Š­Š­Š­Š­Š­Š­Š­ Š­ Š­ Š­ Š­ Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­Š­ Š­!Š­"Š­#Š­$Š­%Š­&Š­'Š­()*+)*,)*-)*.)*/)*0)*0)*1)*2)*3)*405060708090:0x0;0<0=0>0?0@0A0B1C1D191E1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V W W X Y2Z3[3\3]^_`abc4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4xyz4{4|4}4~44h4€445‚(ƒ„…â„…†„…‡„…ˆ„…‰„…Š„…‹„…Œ„…„…Ž„…„…„…‘„…’„…“„…”„…Ü„…•„…–„…—„…˜„…™„…š„…›„…œ„…„…ž„…Ÿ„… „…¡„…¢„…£„…¤„…¥„…¦„…§„…¨„…©„…ª„…«„…¬„…­„…®„…}„…}„…¯„…¯„…°„…°„…±„…D„…²„…³„…´„…µ„…¶„…·„…¸„…¹„…º„…»„…¼„…½„…¾„…¿„…À„…Á„…„…™„…Ä…Ä„…Å„…Æ„…Ç„…È„…É„…Ê„…Ë„…Ì„…Í„…΄…Ï„…Є…Ñ„…Ò„…Ó„…Ô„…Õ„…Ö„…ׄ…Ø„…Ù„…Ú„…Û„…Ü„…Ý„…Þ„…ß„…à„…á„…â„…ã„…ä„…å„…æ„…ç„…è„…é„…ê„…ë„…ì„…í„…î„…ï„…ð„…ñ„…ù„…ù„…Ä…Ä…ò„…ó„…ô„…õ„…ö„…ö„…÷„…ø„…ø„…»„…5„…6„…7„…8„…9„…u„…ù„…ú„…ûüý¿üýþüýÿüýÄüýÅüýÆüýüýÇüýÈüýÉüýÊüýËüýÌüýÍüýÎüýÏüýÐüýÑüýÒüýÓüýÔüýüýÕüýÖüý×üýØüýüýÙüýÚüýÛüýÜüýÝüýüýÞüýüýüýßüýàüýáüýâüýãüýüýäüýåüýæüýçüýèüýéüýêüýüýëüýìüýüýíüýîüýïüýðüýñüýòüý üýóüýôüýõüýöüý÷üýøüý üýùüýúüýûüýüüýýüýþüýÿüýüýüý üýüýüýüýüýüýüýüý üý üý üý üý üý üý üýüýüýüýüýüýüýüýüýüýüýüýüýüýüýüýüýüýüüüüü„…„…„…„…„…„… „…!„…"„…#„…$„…%„…&„…'„…(„…)„…*„…+„…,„…-„….„…/„…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„…q„…r„…r„…„…„…s„…s„…t„…u„…v„…w„…x„…y„…z„…„…Ÿ„…{„…|„…}„…~„…„…€„… „… „…„…‚„…ƒ„…„„……„…†„…‡„…ˆ„…‰„…Š„…‹„…Œ„…„…Ž„…„…„…‘„…‘„…’„…“„…”„…•„…–„…—„… „… „…˜„…™„…š„…›„…œ„…„…ž„…Ÿ„… „…¡„…¢„…£„…¤„…¥„…¦„…§„…¨„…©„…ª„…«„…r„…¬„…­„…®„…¯„…°„…±„…²„…³„…´„…µ„…µ„…¶„…·„…·„…¸„…¸„…¹„…º„…»„…¼„…½„…¾„…¿„…"„…#„…(„…)„…À„…„…'„…Á„…„…C„…Ä…Ä„…Å„…Æ„…Ç„…È„…É„…Ê„…Ë„…Ê„…Ì„…Í„…΄…Ï„…Є…Ñ„…Ò„…Ó„…Ô„…?„…@„…Õ„…Ö„…ׄ…Ø„…Ù„…Ú„…Û„…Ü„…Ý„…Þ„…ß„…à„…á„…â„…ã„…ä„…å„…Þ„…æ„…ç„…è„…é„…ê„…ë„…ì„…ì„…„…í„…þ„…î„…ï„…ð„…ñ„…ò„…ó„…ô„…õ„…ö„…÷„…ø„…e„…f„…ù„…ú„…û„…ü„…[„…ý„…þ„…ÿ„…„…„…„…#derive-2.6.4-9aJNuynq91pIcgfvHRMBndData.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.20.2-F1uUzlDHWsq10Vce6vCtviLanguage.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 OVERLAPPING OVERLAPPABLEOVERLAPS INCOHERENTCOMPLETEKW_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_PatternKW_Stock KW_Anyclass 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 anyclass_name stock_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 hole_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 SpecialConUnitConListConFunConTupleConConsUnboxedSingleConExprHoleQNameQualUnQualSpecialNameSymbolIdentIPNameIPDupIPLinQOpQVarOpQConOpOpVarOpConOpCNameVarNameConNameModuleXmlPage 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 RoleAnnotDeclCompletePragmaPatternSynDirectionUnidirectionalImplicitBidirectionalExplicitBidirectionalTypeEqn AnnotationAnnTypeAnn ModuleAnnBooleanFormula VarFormula AndFormula OrFormula ParenFormulaRoleNominalRepresentationalPhantom RoleWildcard DataOrNewDataTypeNewTypeInjectivityInfo ResultSigKindSigTyVarSigDeclHeadDHeadDHInfixDHParenDHAppInstRuleIRuleIParenInstHeadIHConIHInfixIHParenIHAppDeriving DerivStrategy DerivStock DerivAnyclass DerivNewtypeBindsBDeclsIPBindsIPBindMatch InfixMatch QualConDeclConDecl InfixConDeclRecDeclGadtDeclClsDecl ClsDataFamClsTyFamClsTyDef ClsDefSigInsDeclInsTypeInsDataInsGDataBangTypeBangedTyLazyTy NoStrictAnnot UnpackednessUnpackNoUnpackNoUnpackPragmaRhs UnGuardedRhs GuardedRhss GuardedRhsTypeTyConTyForallTyFunTyTuple TyUnboxedSumTyList TyParArrayTyAppTyVarTyParenTyInfixTyKind TyPromotedTyEqualsTySpliceTyBang TyWildCard TyQuasiQuoteMaybePromotedName PromotedNameUnpromotedNamePromotedPromotedIntegerPromotedString PromotedCon PromotedList PromotedTuple PromotedUnitBoxedUnboxed TyVarBind KindedVar UnkindedVarKindKindStarKindFn KindParenKindVarKindApp KindTupleKindListFunDepContextCxSingleCxTupleCxEmptyAsstClassAAppAInfixAIParamEqualPParenA WildCardALiteralCharFracPrimIntPrimWord PrimFloat PrimDoublePrimChar PrimStringSignSignlessNegativeExpIfConVarOverloadedLabelIPVarLitInfixAppNegAppLambdaLetMultiIfCaseDoMDoTuple UnboxedSum TupleSectionParArrayParen LeftSection RightSection RecConstr RecUpdateEnumFrom EnumFromTo EnumFromThenEnumFromThenToParArrayFromToParArrayFromThenToListCompParComp ParArrayComp ExpTypeSigVarQuoteTypQuote BracketExp SpliceExp QuasiQuoteTypeAppXTagXETagXPcdataXExpTag XChildTag CorePragma SCCPragma GenPragmaProc LeftArrApp RightArrAppLeftArrHighAppRightArrHighAppLCaseXNameXDomNameXAttrBracket ExpBracket PatBracket TypeBracket DeclBracketSpliceIdSplice ParenSpliceSafety PlayRiskyPlaySafePlayInterruptibleCallConvStdCallCCall CPlusPlusDotNetJvmJs JavaScriptCApi ModulePragmaLanguagePragma OptionsPragmaAnnModulePragmaToolGHCHUGSNHC98YHCHADDOCK UnknownToolOverlap Overlappable OverlappingOverlaps Incoherent NoOverlap Activation ActiveFrom ActiveUntilRuleRuleVar TypedRuleVar WarningTextDeprTextWarnTextPatPVarPLitPNPlusK PInfixAppPAppPTuple PUnboxedSumPListPParenPRecPAsPat PWildCardPIrrPat PatTypeSigPViewPatPRPatPXTagPXETagPXPcdataPXPatTagPXRPatsPSplice 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 UnboxedSums BangPatterns TypeFamiliesTypeFamilyDependenciesOverloadedStringsDisambiguateRecordFieldsRecordWildCards RecordPuns ViewPatternsGADTsNPlusKPatternsDoAndIfThenElseRebindableSyntaxConstraintKinds PolyKinds DataKinds InstanceSigsStandaloneDerivingDeriveDataTypeable DeriveFunctorDeriveTraversableDeriveFoldable DeriveGenericDefaultSignaturesDeriveAnyClassDerivingStrategiesTypeSynonymInstancesFlexibleContextsFlexibleInstancesConstrainedClassMethodsMultiParamTypeClassesFunctionalDependencies 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 StockStrategyAnyclassStrategyNewtypeStrategyghc-boot-th-8.2.2GHC.LanguageExtensions.TypeStrictCppUndecidableSuperClassesTemplateHaskellQuotesAllowAmbiguousTypes TypeInTypeOverloadedLists NumDecimals GADTSyntax ApplicativeDoAutoDeriveTypeable DeriveLiftNullaryTypeClassesMonadComprehensionsAlternativeLayoutRule!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