! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M NOPQRSTUVWXYZ[\]^_`abcdefghijklmno pq rstuvwx yz{|}~            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                             !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2 Safe'>This class (which users should never see) is to be instantiated in order to use an otherwise-unused data constructor, such as the "kind-inference" data constructor for defunctionalization symbols.None '(*+35>L@;None *357<CINUGenerate a new UniqueC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJA      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHA      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ(C) 2015 Richard EisenbergBSD-style (see LICENSE)$Richard Eisenberg (eir@cis.upenn.edu experimental non-portableNoneKKK (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(4<>IKLNAn infix synonym for Type level function application& Similar to '*, but for two-parameter type constructors.':Wrapper for converting the normal type-level arrow into a (. For example, given: data Nat = Zero | Succ Nat type family Map (a :: TyFun a b -> *) (a :: [a]) :: [b] Map f '[] = '[] Map f (x ': xs) = Apply f x ': Map f xs We can write: #Map (TyCon1 Succ) [Zero, Succ Zero](Representation of the kind of a type-level function. The difference between term-level arrows and this type-level arrow is that at the term level applications can be unsaturated, whereas at the type level all applications have to be fully saturated.)A ) wraps up a 2 instance for explicit handling.+An existentially-quantified singleton. This type is useful when you want a singleton type, but there is no way of knowing, at compile-time, what the type index will be. To make use of this type, you will generally have to use a pattern-match: ofoo :: Bool -> ... foo b = case toSing b of SomeSing sb -> {- fancy dependently-typed code with sb -};An example like the one above may be easier to write using H.-Convenient abbreviation for /: 6type Demote (a :: k) = DemoteRep ('KProxy :: KProxy k).The . class is essentially a kind class. It classifies all kinds for which singletons are defined. The class supports converting between a singleton type and the base (unrefined) type which it is built from./BGet a base type from a proxy for the promoted kind. For example, "DemoteRep ('KProxy :: KProxy Bool) will be the type Bool.0-Convert a singleton to its unrefined version.1HConvert an unrefined type to an existentially-quantified singleton type.2A 2 constraint is essentially an implicitly-passed singleton. If you need to satisfy this constraint with an explicit singleton, please see G.3;Produce the singleton explicitly. You will likely need the ScopedTypeVariables0 extension to use this method the way you want.4'The singleton kind-indexed data family.5=Convenient synonym to refer to the kind of a type variable: ,type KindOf (a :: k) = ('KProxy :: KProxy k)6Get an implicit singleton (a 2 instance) from an explicit one.7Use this function when passing a function on singletons as a higher-order function. You will often need an explicit type annotation to get this to work. For example: gfalses = sMap (singFun1 (Proxy :: Proxy NotSym0) sNot) (STrue `SCons` STrue `SCons` SNil)There are a family of  singFun...? functions, keyed by the number of parameters of the function.?This is the inverse of 7, and likewise for the other  unSingFun... functions.GRConvenience function for creating a context with an implicit singleton available.H Convert a normal datatype (like LD) to a singleton for that datatype, passing it into a continuation.IyA convenience function useful when we need to name a singleton value multiple times. Without this function, each use of 3d could potentially refer to a different singleton, and one has to use type signatures (often with ScopedTypeVariables#) to ensure that they are the same.JA convenience function that names a singleton satisfying a certain property. If the singleton does not satisfy the property, then the function returns MX. The property is expressed in terms of the underlying representation of the singleton.K7Allows creation of a singleton when a proxy is at hand.L&Allows creation of a singleton when a proxy# is at hand.MGHC 7.8 sometimes warns about incomplete pattern matches when no such patterns are possible, due to GADT constraints. See the bug report at  ,https://ghc.haskell.org/trac/ghc/ticket/3927I. In such cases, it's useful to have a catch-all pattern that then has M as its right-hand side.F !"#$%&'(NO)*+,-./012345PQ6789:;<=>?@ABCDEFGHThe original datatypeFunction expecting a singletonIJKLMRSTUVWXYZ[< !"#$%&'()*+,-./012345PQ6789:;<=>?@ABCDEFGHIJKLM:423./015-)*+,6GHKLIJ('&%$#"! 789:;<=>?@ABCDEFM= !"#$%&'(NO)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMRSPQTUVWXYZ[ (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone !"'(4>IKLNNMembers of the N "kind" class support decidable equality. Instances of this class are generated alongside singleton definitions for datatypes that derive an \ instance.O>Compute a proof or disproof of equality, given two singletons.PA P about a type a0 is either a proof of existence or a proof that a cannot exist.Q Witness for aRProof that no a existsS,Because we can never create a value of type  ", a function that type-checks at  a -> Void shows that objects of type a% can never exist. Thus, we say that a is SNOPQRS] NOPQRS NO SPQRNOPQRS]Nonea^_`abcdefghijklmnopqrstuvwxyz{|}~a^_`abcdefghijklmnopqrstuvwxyz{|}~a^_`abcdefghijklmnopqrstuvwxyz{|}~(C) 2015 Richard EisenbergBSD-style (see LICENSE)$Richard Eisenberg (eir@cis.upenn.edu experimental non-portableNone#Make a *non-singleton* Ord instanceNone*4>CL None@C (C) 2015 Richard EisenbergBSD-style (see LICENSE)$Richard Eisenberg (eir@cis.upenn.edu experimental non-portableNone(C) 2015 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneNoneNoneNone    (C) 2015 Richard EisenbergBSD-style (see LICENSE)$Richard Eisenberg (eir@cis.upenn.edu experimental non-portableNone Split up a [DDec] into its pieces, extracting ! instances from deriving clauses  !NoneFUV ToGenerate promoted definitions from a type that is already defined. This is generally only useful with classes.UKPromote every declaration given to the type level, retaining the originals.VPromote each declaration, discarding the originals. Note that a promoted datatype uses the same definition as an original datatype, so this will not work with datatypes. Classes, instances, and functions are all fine.W=Generate defunctionalization symbols for existing type familyXHProduce instances for '(:==)' (type-level equality) from the given typesYProduce instances for POrd from the given typesZProduce an instance for POrd from the given type[Produce instances for PBounded from the given types\Produce an instance for PBounded from the given type]Produce instances for PEnum from the given types^Produce an instance for PEnum from the given type_IProduce an instance for '(:==)' (type-level equality) from the given typeTUVWXYZ[\]^_     TUVWXYZ[\]^_     TUVWXYZ[\]^_     "None#None$None@F   %None@F`tGenerate singleton definitions from a type that is already defined. For example, the singletons package itself uses 2$(genSingletons [''Bool, ''Maybe, ''Either, ''[]]))to generate singletons for Prelude types.akMake promoted and singleton versions of all declarations given, retaining the original declarations. See  =http://www.cis.upenn.edu/~eir/packages/singletons/README.html for further explanation.bMake promoted and singleton versions of all declarations given, discarding the original declarations. Note that a singleton based on a datatype needs the original datatype, so this will fail if it sees any datatype declarations. Classes, instances, and functions are all fine.cCreate instances of SEq1 and type-level '(:==)' for each type in the listdCreate instance of SEq* and type-level '(:==)' for the given typeeCreate instances of SEq) (only -- no instance for '(:==)', which SEq0 generally relies on) for each type in the listfCreate instances of SEq) (only -- no instance for '(:==)', which SEq) generally relies on) for the given typegCreate instances of SDecide for each type in the list.hCreate instance of SDecide for the given type.iCreate instances of SOrd for the given typesjCreate instance of SOrd for the given typekCreate instances of SBounded for the given typeslCreate instance of SBounded for the given typemCreate instances of SEnum for the given typesnCreate instance of SEnum for the given type&!"#$`abcdefgh%ijklmn&'()*+,-./0123456the promoted scrutinee7&!"#$`abcdefgh%ijklmn&'()*+,-./01234567#!"#$`abcdefgh%ijklmn&'()*+,-./01234567&None!"'(345>IKLNopqrstuvwxy8z9{:|;}<~=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{opqrstuvwxy8z9{:|;}<~=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghilmnopqrstuvwxyzNopqrstuvwxy8z9{:|;}<~=>?@ABCDEFGHIJKLMNOPQRSTUVWjhifgdecba`_^\]YZ[Xklmnopqrstuvwxyz{-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(+>KLNConditional over singletons#|}~ 4uvw\]4uvw|}~ (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(14>IKLNThe promoted analogue of \V. If you supply no definition for '(:==)', then it defaults to a use of '(==)', from Data.Type.Equality.The singleton analogue of \. Unlike the definition for \e, it is required that instances define a body for '(%:==)'. You may also supply a body for '(%:/=)'.Boolean equality on singletons!Boolean disequality on singletons (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone(>LIProduce a representation and singleton for the collection of types given. A datatype Rep is created, with one constructor per type in the declared universe. When this type is promoted by the singletons library, the constructors become full types in *&, not just promoted data constructors. For example, )$(singletonStar [''Nat, ''Bool, ''Maybe])generates the following: ;data Rep = Nat | Bool | Maybe Rep deriving (Eq, Show, Read)$and its singleton. However, because Rep is promoted to *0, the singleton is perhaps slightly unexpected: {data instance Sing (a :: *) where SNat :: Sing Nat SBool :: Sing Bool SMaybe :: SingRep a => Sing a -> Sing (Maybe a)The unexpected part is that Nat, Bool, and Maybe above are the real Nat, Bool, and Maybe&, not just promoted data constructors."Please note that this function is very$ experimental. Use at your own risk.A list of Template Haskell Name s for types-4uvw\]'(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNoneL ((C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNonevwvw(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'()14>KLN      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST24rstYZ[/4tsr      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST)(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone rst tsr*(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"(35<>IKLN UVWXYZ[\]^_4W4 UVXYZ[\]^_W(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(>KLNh`     abcdefghi j!"k#l$%m&n'o()p*q+r,-s.t/uvwxyz{|}~0123456789:<      !"#$%&'()*+,-./0123456789:< 8 7 6 532 9:140"#$%&'()*+, !-./L`     abcdefghi j!"k#l$%m&n'o()p*q+r,-s.t/uvwxyz{|}~0123456789:    02 69:+(C) 2014 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"&'(345>IKLN;The promotion of 3. This version is more poly-kinded for easier use.<Kind-restricted synonym for 4 for Symbols=Kind-restricted synonym for 4 for Nats>Given a singleton for Nat, call something requiring a KnownNat instance.?Given a singleton for Symbol, call something requiring a  KnownSymbol instance.CThe singleton for #;<=>?@ABCDEF 4PQYZ[\];<=>?@ABCDEF;<=>?@ABCDEF@(C) 2014 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(14>KLNAGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl&GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl&OPQRSTUVGHIJKLMNhlefgbcd_`a]^[\YZWXijk$GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklHIJPQR(C) 2014 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone ;<=>?@ABCDEF=<>?;ABC  @DEF(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneLm The function m generates a case expression where each right-hand side is identical. This may be useful if the type-checker requires knowledge of which constructor is used to satisfy equality or type-class constraints, but where each constructor is treated the same.n The function n generates a case expression where each right-hand side is identical. This may be useful if the type-checker requires knowledge of which constructor is used to satisfy equality or type-class constraints, but where each constructor is treated the same. For n , unlike mJ, the scrutinee is a singleton. But make sure to pass in the name of the original datatype, preferring ''Maybe over ''SMaybe.m-The head of the type of the scrutinee. (Like ''Maybe or ''Bool.)*The scrutinee, in a Template Haskell quote%The body, in a Template Haskell quoten>The head of the type the scrutinee's type is based on. (Like ''Maybe or ''Bool.)*The scrutinee, in a Template Haskell quote%The body, in a Template Haskell quote  !"#$%&'()*+,-./012345PQ6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnprstvwyz{|}~X\]^_`abc;Amnyab`UVWTX_cdefghYZij[\kl]^mnmn4NO SPQR +,;Avwtsrpyz{|}~mn-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone !"'(>ILN5opqrstuvwxyz{|}~!4deopqrstuvwxyz{|}~4otuvwxypqrsz{|}~'opqrstuvwxyz{|}~,(C) 2014 Jan StolarekBSD-style (see LICENSE)jan.stolarek@p.lodz.pl experimental non-portableNoneopqrsuvwxyz{|}~ouvwxypqrsz{|}~ (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone !"'(>ILN H4opxyz{|}~X^_`abcA4oxpyz{|}~-(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone4pyz{|}~4pyz{|}~(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone !"'(>KLN5      !"#$%&'()*+,-./5     "#$%&'()*+, !-./-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(4>IKLNz      !"#$%&'()*+,-./0123456789:;<=>?@ABC D E  F GHIJKLMNOPQRS !T"U#V$%W&X'Y()Z*[+,\-.]/^01_23`4a56b7c89d:e;<f=g>?h@iAjBCkDlEmFGnHoIpJqKLrMNsOPtQRuSTvUVwWXxYyZ[z\{]^|_}`~abcdefghijkl      !"#$%&'()*+,-./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 W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q rmnopqrstuvwxyz{|}~ s t u4fg   678      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4 6 7 8~}|{zyxwvutsqropnm      !"#$%&'()*+,-12345./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW[\]XYZbcde^_`afghijklM      !"#$%&'()*+,-./0123456789:;<=>?@ABC D E  F GHIJKLMNOPQRS !T"U#V$%W&X'Y()Z*[+,\-.]/^01_23`4a56b7c89d:e;<f=g>?h@iAjBCkDlEmFGnHoIpJqKLrMNsOPtQRuSTvUVwWXxYyZ[z\{]^|_}`~abcdefghijkl      !"#$%&'()*+,-./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 W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q rmnopqrstuvwxyz{|}~ s t ur-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone !"'(>ILNP v w x y z { | } ~         0 4hi.4 ; v w x y z { | } ~                 .(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone# # ((C) 2014 Jan Stolarek, Richard EisenbergBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'()14>KLNd                              ! " # $ % & ' ( ) * + , - . / 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 { | } ~                                     (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneL  !"#$%&'()*+,-./012345PQ6789:;<=>?@ABCDEFGHIJKLMopqrstuvwxyz{|}~XYZ[\]^_`abcdefghi      !"#$%&')*+-./0123456789:;ACGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklopqrst      6789:;<=>?@ABCDEFGHIJLMwxyz{|}~,4uqox;AC 532 9:140 7 6 8~}|{zyxwot wvpqrspyz{|}~"#$%&')*+ !-./      6789:;<=>?@ABCDEFGHIJLM/((C) 2014 Jan Stolarek, Richard EisenbergBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone !"'(>L0(C) 2014 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneOPQRSTUVWXYZ[\]^_`abcdefghijkOPQRSTUVhefgbcd_`a]^[\YZWXijk(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(>IKLNVk             ! "# $ %& ' () * +, -. /0 12 3 45 6 78 9: ; <= > ?@ A BC D EF G !HI "J #KL $M %NO &P 'QR (S )TU *VW +X ,YZ -[ .\] /^ 0_` 1a 2bc 3de 4fg 5h 6ij 7kl 8m 9no :p ;qr <s =tu >v ?w @ Ax By Cz{ 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         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~              !"#$%&'()*+,-12345./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW[\]XYZrstghijkbcde^_`auvwfghijkl,-./0156789CDEIJK@ABLMNOPQRSTZ[\]^_`abcdefUVWXYlmnopqxyz{|} !"&'(#$%)*+:;<FGH=>?~234              ! "# $ %& ' () * +, -. /0 12 3 45 6 78 9: ; <= > ?@ A BC D EF G !HI "J #KL $M %NO &P 'QR (S )TU *VW +X ,YZ -[ .\] /^ 0_` 1a 2bc 3de 4fg 5h 6ij 7kl 8m 9no :p ;qr <s =tu >v ?w @ Ax By Cz{ 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 k1(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNoneL prstvwyz{|}~      !"#$%&')*+-./;ADEOPQRSTUVWXYZ[\]^_`abcdefghijkopqrs      6789:;<=>?@ABCDEFGHIJLM ,-./01567@ABCDEIJKLMNOPQZ[\]^_lmnxyz4 o;A       wvpqrspyz{|}~DE"#$%&')*+ !-./      6789:;<=>?@ABCDEFGHIJLM,-./01567CDEIJK@ABLMNOPQZ[\]^_lmnxyz2(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneLP (TUVWXYZ[\]^_prstvwyz{|}~;APUVWTX_YZ[\]^( ;Avwtsrpyz{|}~ l34534678934:34;<=>?@3AB34C34D3EF3EF3EG3EG3HI3HJ3KL M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b b c c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!!!!!%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&              !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq+r+s+t+u+v+w+x+y+z+{+|+}~                             !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         !!"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz7{|3}~              7      !"#$ %7& ' ( ) * + , - . / 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%m%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&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&                        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy***z*{*|*}*~****3++t+++++++++++++++++++++            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./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 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 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 { | } ~                singl_1tSydXWIpYB4CmSWI0RHV0Data.Singletons.TypeLitsData.Singletons.THData.Singletons.Prelude.BoolData.Singletons.Prelude.OrdData.Singletons.Prelude.EitherData.Singletons.Prelude.ListData.Singletons.Prelude.MaybeData.Singletons.DecideData.Singletons&Data.Singletons.SuppressUnusedWarningsData.Singletons.Prelude.TupleData.Singletons.PreludeData.Singletons.Prelude.EqData.Singletons.CustomStarData.Singletons.Prelude.BaseData.Singletons.Prelude.NumData.Promotion.Prelude.BaseData.Singletons.Prelude.EnumData.Promotion.Prelude.ListData.Singletons.SyntaxData.Singletons.UtilData.Singletons.Deriving.InferData.Singletons.NamesData.Singletons.Deriving.OrdData.Singletons.Promote.MonadData.Singletons.Single.Monad Data.Singletons.Deriving.BoundedData.Singletons.Deriving.EnumData.Singletons.Promote.EqData.Singletons.Promote.TypeData.Singletons.Promote.DefunData.Singletons.PartitionData.Singletons.PromoteData.Singletons.Single.TypeData.Singletons.Single.EqData.Singletons.Single.DataData.Singletons.Single!Data.Singletons.Prelude.InstancesData.Promotion.Prelude.EqData.Promotion.Prelude.BoolData.Promotion.Prelude.OrdData.Singletons.TypeRepStar!Data.Singletons.TypeLits.InternalData.Promotion.Prelude.EitherData.Promotion.Prelude.TupleData.Promotion.Prelude.MaybeData.Promotion.Prelude.EnumData.Promotion.Prelude.NumData.Promotion.PreludeData.Promotion.THbase GHC.TypeLitsKnownNat KnownSymbolghc-primGHC.PrimAnyNatSymbolbool_thenCmpeither_any_maybe_ Data.VoidVoid symbolValnatVal Data.ProxyProxyKProxyData.Type.EqualityRefl:~:Data.Type.BoolIfSuppressUnusedWarningssuppressUnusedWarnings SingFunction8 SingFunction7 SingFunction6 SingFunction5 SingFunction4 SingFunction3 SingFunction2 SingFunction1@@ApplyTyCon8TyCon7TyCon6TyCon5TyCon4TyCon3TyCon2TyCon1TyFun SingInstanceSomeSingDemoteSingKind DemoteRepfromSingtoSingSingIsingSingKindOf singInstancesingFun1singFun2singFun3singFun4singFun5singFun6singFun7singFun8 unSingFun1 unSingFun2 unSingFun3 unSingFun4 unSingFun5 unSingFun6 unSingFun7 unSingFun8 withSingI withSomeSingwithSingsingThat singByProxy singByProxy#bugInGHCSDecide%~DecisionProved DisprovedRefuted genPromotionspromote promoteOnlygenDefunSymbolspromoteEqInstancespromoteOrdInstancespromoteOrdInstancepromoteBoundedInstancespromoteBoundedInstancepromoteEnumInstancespromoteEnumInstancepromoteEqInstance genSingletons singletonssingletonsOnlysingEqInstancessingEqInstancesingEqInstancesOnlysingEqInstanceOnlysingDecideInstancessingDecideInstancesingOrdInstancessingOrdInstancesingBoundedInstancessingBoundedInstancesingEnumInstancessingEnumInstanceSTuple0 Tuple0Sym0 SOrderingGTSym0EQSym0LTSym0SBoolTrueSym0 FalseSym0STuple7 Tuple7Sym0 Tuple7Sym1 Tuple7Sym2 Tuple7Sym3 Tuple7Sym4 Tuple7Sym5 Tuple7Sym6 Tuple7Sym7STuple6 Tuple6Sym0 Tuple6Sym1 Tuple6Sym2 Tuple6Sym3 Tuple6Sym4 Tuple6Sym5 Tuple6Sym6STuple5 Tuple5Sym0 Tuple5Sym1 Tuple5Sym2 Tuple5Sym3 Tuple5Sym4 Tuple5Sym5STuple4 Tuple4Sym0 Tuple4Sym1 Tuple4Sym2 Tuple4Sym3 Tuple4Sym4STuple3 Tuple3Sym0 Tuple3Sym1 Tuple3Sym2 Tuple3Sym3STuple2 Tuple2Sym0 Tuple2Sym1 Tuple2Sym2SEither RightSym0 RightSym1LeftSym0LeftSym1SList:$:$$:$$$NilSym0SMaybeJustSym0JustSym1 NothingSym0Foldl FoldlSym0 FoldlSym1 FoldlSym2 FoldlSym3sFoldlBool_ Bool_Sym0 Bool_Sym1 Bool_Sym2 Bool_Sym3sBool_:&&:||Not Otherwise:&&$:&&$$:&&$$$:||$:||$$:||$$$NotSym0NotSym1 OtherwiseSym0 sOtherwisesNot%:||%:&&sIfPEq:==:/=SEq%:==%:/=:/=$:/=$$:/=$$$:==$:==$$:==$$$ singletonStarSOrdsCompare%:<%:<=%:>%:>=sMaxsMinPOrdCompare:<:<=:>:>=MaxMinMinSym0MinSym1MinSym2MaxSym0MaxSym1MaxSym2:>=$:>=$$:>=$$$:>$:>$$:>$$$:<=$:<=$$:<=$$$:<$:<$$:<$$$ CompareSym0 CompareSym1 CompareSym2ThenCmp ThenCmpSym0 ThenCmpSym1 ThenCmpSym2sThenCmp$!$$$$!$$$!$$!$$$$$$$$$$FoldrMap:++IdAsTypeOfConst:.FlipSeq FoldrSym0 FoldrSym1 FoldrSym2 FoldrSym3MapSym0MapSym1MapSym2:++$:++$$:++$$$IdSym0IdSym1 AsTypeOfSym0 AsTypeOfSym1 AsTypeOfSym2 ConstSym0 ConstSym1 ConstSym2:.$:.$$:.$$$:.$$$$FlipSym0FlipSym1FlipSym2FlipSym3SeqSym0SeqSym1SeqSym2sSeqsFlip%:.sConst sAsTypeOfsId%:++sMapsFoldr%$%$!ErrorSSymbolSNat withKnownNatwithKnownSymbol:^ ErrorSym0 ErrorSym1sError:^$:^$$:^$$$SNum%:+%:-%:*sNegatesAbssSignum sFromIntegerPNum:+:-:*NegateAbsSignum FromIntegerFromIntegerSym0FromIntegerSym1 SignumSym0 SignumSym1AbsSym0AbsSym1 NegateSym0 NegateSym1:*$:*$$:*$$$:-$:-$$:-$$$:+$:+$$:+$$$Subtract SubtractSym0 SubtractSym1 SubtractSym2 sSubtractcasessCasesEither_ Either_Sym0 Either_Sym1 Either_Sym2 Either_Sym3sEither_LeftsRightsPartitionEithersIsLeftIsRight LeftsSym0 LeftsSym1 RightsSym0 RightsSym1 IsLeftSym0 IsLeftSym1 IsRightSym0 IsRightSym1sIsRightsIsLeftsPartitionEitherssRightssLeftsUncurryFstSndCurrySwap UncurrySym0 UncurrySym1 UncurrySym2FstSym0FstSym1SndSym0SndSym1 CurrySym0 CurrySym1 CurrySym2 CurrySym3SwapSym0SwapSym1sSwapsCurrysSndsFstsUncurryUntil UntilSym0 UntilSym1 UntilSym2 UntilSym3Any_Any_Sym0Any_Sym1Any_Sym2sAny_HeadLastTailInitNull IsSuffixOfReverse Intercalate Intersperse Subsequences PermutationsFoldl1'Foldl' MinimumBy MaximumByFoldl1Foldr1Concat ConcatMapAndOrAllScanl1ScanlScanrScanr1 MapAccumL MapAccumRUnfoldrInits IsInfixOfTails IsPrefixOfElemNotElemZipZip3ZipWithZipWith3UnzipUnzip3Unzip4Unzip5Unzip6Unzip7:\\DeleteDeleteFirstsByDeleteBySortByInsertByHeadSym0HeadSym1LastSym0LastSym1TailSym0TailSym1InitSym0InitSym1NullSym0NullSym1IsSuffixOfSym0IsSuffixOfSym1IsSuffixOfSym2 ReverseSym0 ReverseSym1IntercalateSym0IntercalateSym1IntercalateSym2IntersperseSym0IntersperseSym1IntersperseSym2SubsequencesSym0SubsequencesSym1PermutationsSym0PermutationsSym1 Foldl1'Sym0 Foldl1'Sym1 Foldl1'Sym2 Foldl'Sym0 Foldl'Sym1 Foldl'Sym2 Foldl'Sym3 MinimumBySym0 MinimumBySym1 MinimumBySym2 MaximumBySym0 MaximumBySym1 MaximumBySym2 Foldl1Sym0 Foldl1Sym1 Foldl1Sym2 Foldr1Sym0 Foldr1Sym1 Foldr1Sym2 ConcatSym0 ConcatSym1 ConcatMapSym0 ConcatMapSym1 ConcatMapSym2AndSym0AndSym1OrSym0OrSym1AllSym0AllSym1AllSym2 Scanl1Sym0 Scanl1Sym1 Scanl1Sym2 ScanlSym0 ScanlSym1 ScanlSym2 ScanlSym3 ScanrSym0 ScanrSym1 ScanrSym2 ScanrSym3 Scanr1Sym0 Scanr1Sym1 Scanr1Sym2 MapAccumLSym0 MapAccumLSym1 MapAccumLSym2 MapAccumLSym3 MapAccumRSym0 MapAccumRSym1 MapAccumRSym2 MapAccumRSym3 UnfoldrSym0 UnfoldrSym1 UnfoldrSym2 InitsSym0 InitsSym1 IsInfixOfSym0 IsInfixOfSym1 IsInfixOfSym2 TailsSym0 TailsSym1IsPrefixOfSym0IsPrefixOfSym1IsPrefixOfSym2ElemSym0ElemSym1ElemSym2 NotElemSym0 NotElemSym1 NotElemSym2ZipSym0ZipSym1ZipSym2Zip3Sym0Zip3Sym1Zip3Sym2Zip3Sym3 ZipWithSym0 ZipWithSym1 ZipWithSym2 ZipWithSym3 ZipWith3Sym0 ZipWith3Sym1 ZipWith3Sym2 ZipWith3Sym3 ZipWith3Sym4 UnzipSym0 UnzipSym1 Unzip3Sym0 Unzip3Sym1 Unzip4Sym0 Unzip4Sym1 Unzip5Sym0 Unzip5Sym1 Unzip6Sym0 Unzip6Sym1 Unzip7Sym0 Unzip7Sym1:\\$:\\$$:\\$$$ DeleteSym0 DeleteSym1 DeleteSym2DeleteFirstsBySym0DeleteFirstsBySym1DeleteFirstsBySym2DeleteFirstsBySym3 DeleteBySym0 DeleteBySym1 DeleteBySym2 DeleteBySym3 SortBySym0 SortBySym1 SortBySym2 InsertBySym0 InsertBySym1 InsertBySym2 InsertBySym3 sInsertBysSortBy sDeleteBysDeleteFirstsBysDelete%:\\sUnzip7sUnzip6sUnzip5sUnzip4sUnzip3sUnzip sZipWith3sZipWithsZip3sZipsNotElemsElem sIsPrefixOfsTails sIsInfixOfsInitssUnfoldr sMapAccumR sMapAccumLsScanr1sScanrsScanlsScanl1sAllsOrsAnd sConcatMapsConcatsFoldr1sFoldl1 sMaximumBy sMinimumBysFoldl'sFoldl1' sPermutations sSubsequences sIntersperse sIntercalatesReverse sIsSuffixOfsNullsInitsTailsLastsHeadMaybe_ Maybe_Sym0 Maybe_Sym1 Maybe_Sym2 Maybe_Sym3sMaybe_IsJust IsNothingFromJust FromMaybe MaybeToList ListToMaybe CatMaybesMapMaybe IsJustSym0 IsJustSym1 IsNothingSym0 IsNothingSym1 FromJustSym0 FromJustSym1 FromMaybeSym0 FromMaybeSym1 FromMaybeSym2MaybeToListSym0MaybeToListSym1ListToMaybeSym0ListToMaybeSym1 CatMaybesSym0 CatMaybesSym1 MapMaybeSym0 MapMaybeSym1 MapMaybeSym2 sMapMaybe sCatMaybes sListToMaybe sMaybeToList sFromMaybe sFromJust sIsNothingsIsJustSBounded sMinBound sMaxBoundPBoundedMinBoundMaxBound MaxBoundSym0 MinBoundSym0SEnumsSuccsPredsToEnum sFromEnum sEnumFromTosEnumFromThenToPEnumSuccPredToEnumFromEnum EnumFromToEnumFromThenToEnumFromThenToSym0EnumFromThenToSym1EnumFromThenToSym2EnumFromThenToSym3EnumFromToSym0EnumFromToSym1EnumFromToSym2 FromEnumSym0 FromEnumSym1 ToEnumSym0 ToEnumSym1PredSym0PredSym1SuccSym0SuccSym1 GenericLength ElemIndex FindIndex ElemIndices FindIndicesLengthSumProductGenericReplicate Replicate Transpose GenericTakeGenericSplitAtSplitAtTake GenericDropDrop TakeWhile DropWhile DropWhileEndGroupGroupBySpanBreak StripPrefixMaximumMinimumInsertSortLookupFind Intersect IntersectByFilter Partition GenericIndex:!!Zip4Zip5Zip6Zip7ZipWith4ZipWith5ZipWith6ZipWith7NubUnionUnionByNubByGenericLengthSym0GenericLengthSym1 ElemIndexSym0 ElemIndexSym1 ElemIndexSym2 FindIndexSym0 FindIndexSym1 FindIndexSym2ElemIndicesSym0ElemIndicesSym1ElemIndicesSym2FindIndicesSym0FindIndicesSym1FindIndicesSym2 LengthSym0 LengthSym1SumSym0SumSym1 ProductSym0 ProductSym1GenericReplicateSym0GenericReplicateSym1GenericReplicateSym2 ReplicateSym0 ReplicateSym1 ReplicateSym2 TransposeSym0 TransposeSym1GenericTakeSym0GenericTakeSym1GenericTakeSym2GenericSplitAtSym0GenericSplitAtSym1GenericSplitAtSym2 SplitAtSym0 SplitAtSym1 SplitAtSym2TakeSym0TakeSym1TakeSym2GenericDropSym0GenericDropSym1GenericDropSym2DropSym0DropSym1DropSym2 TakeWhileSym0 TakeWhileSym1 TakeWhileSym2 DropWhileSym0 DropWhileSym1 DropWhileSym2DropWhileEndSym0DropWhileEndSym1DropWhileEndSym2 GroupSym0 GroupSym1 GroupBySym0 GroupBySym1 GroupBySym2SpanSym0SpanSym1SpanSym2 BreakSym0 BreakSym1 BreakSym2StripPrefixSym0StripPrefixSym1StripPrefixSym2 MaximumSym0 MaximumSym1 MinimumSym0 MinimumSym1 InsertSym0 InsertSym1 InsertSym2SortSym0SortSym1 LookupSym0 LookupSym1 LookupSym2FindSym0FindSym1FindSym2 IntersectSym0 IntersectSym1 IntersectSym2IntersectBySym0IntersectBySym1IntersectBySym2 FilterSym0 FilterSym1 FilterSym2 PartitionSym0 PartitionSym1 PartitionSym2GenericIndexSym0GenericIndexSym1GenericIndexSym2:!!$:!!$$:!!$$$Zip4Sym0Zip4Sym1Zip4Sym2Zip4Sym3Zip4Sym4Zip5Sym0Zip5Sym1Zip5Sym2Zip5Sym3Zip5Sym4Zip5Sym5Zip6Sym0Zip6Sym1Zip6Sym2Zip6Sym3Zip6Sym4Zip6Sym5Zip6Sym6Zip7Sym0Zip7Sym1Zip7Sym2Zip7Sym3Zip7Sym4Zip7Sym5Zip7Sym6Zip7Sym7 ZipWith4Sym0 ZipWith4Sym1 ZipWith4Sym2 ZipWith4Sym3 ZipWith4Sym4 ZipWith4Sym5 ZipWith5Sym0 ZipWith5Sym1 ZipWith5Sym2 ZipWith5Sym3 ZipWith5Sym4 ZipWith5Sym5 ZipWith5Sym6 ZipWith6Sym0 ZipWith6Sym1 ZipWith6Sym2 ZipWith6Sym3 ZipWith6Sym4 ZipWith6Sym5 ZipWith6Sym6 ZipWith6Sym7 ZipWith7Sym0 ZipWith7Sym1 ZipWith7Sym2 ZipWith7Sym3 ZipWith7Sym4 ZipWith7Sym5 ZipWith7Sym6 ZipWith7Sym7 ZipWith7Sym8NubSym0NubSym1 UnionSym0 UnionSym1 UnionSym2 UnionBySym0 UnionBySym1 UnionBySym2 UnionBySym3 NubBySym0 NubBySym1 NubBySym2 ULetDecEnv ALetDecEnv LetDecEnv lde_defns lde_types lde_infix lde_proms ULetDecRHS ALetDecRHS LetDecRHSIfAnn Unannotated AnnotatedAnnotationFlagADClauseADMatchADExpADVarEADConEADLitEADAppEADLamEADCaseEADLetEADSigE AInstDecl AClassDecl UInstDecl UClassDeclInstDeclid_cxtid_name id_arg_tysid_meths ClassDeclcd_cxtcd_namecd_tvbscd_fdscd_ldeDataDecl VarPromotions UFunctionUValue AFunctionAValue valueBinding typeBinding infixDeclemptyLetDecEnvbuildLetDecEnv$fMonoidLetDecEnvTFCo:R:LetDecRHSUnannotatedTFCo:R:LetDecRHSAnnotatedTFCo:R:IfAnnkUnannotatedyesnoTFCo:R:IfAnnkAnnotatedyesno qNewUniqueQWithAuxQWArunQWA basicTypesboundedBasicTypesenumBasicTypesqReportWarning qReportError checkForRepcheckForRepInDeclstysOfConFieldsextractNameArgsextractNameTypes extractNameisUpcaseupcase toUpcaseStrnoPrefixlocase prefixUCName prefixLCName suffixNameuniquePrefixesextractTvbKindextractTvbName tvbToTypeinferMaybeKindTVunravelravel countArgs substKind substType substPredsubstKindInTypesubstKindInPredsubstKindInTvbaddStar addStar_maybefoldTypefoldExpisVarKisFunTy orIfEmpty emptyMatches multiCase wrapDesugarcomp1comp2evalWithoutAux evalForAux evalForPair addBinding addElement concatMapMlistifyfstOf3liftFstliftSndsnocView partitionWithpartitionWithMpartitionLetDecs mapAndUnzip3M isHsLetter$fDsMonadQWithAux$fQuasiQWithAuxinferConstraints GHC.TypesBoolGHC.BaseNothingDIDon'tInstantiateSLambda applySing$fSingKind(->)KProxyTFCo:R:Sing(->)fTFCo:R:Apply(->)kTyCon8xTFCo:R:Apply(->)kTyCon7xTFCo:R:Apply(->)kTyCon6xTFCo:R:Apply(->)kTyCon5xTFCo:R:Apply(->)kTyCon4xTFCo:R:Apply(->)kTyCon3xTFCo:R:Apply(->)kTyCon2xTFCo:R:Applyk1kTyCon1x GHC.ClassesEq$fTestEqualitykSing anyTypeNameboolNameandName compareName minBoundName maxBoundNametyEqNamerepNamenilNameconsNamelistName tyFunName applyName symbolNamenatName undefinedName typeRepName stringNameeqNameordName boundedName orderingNamesingFamilyName singIName singMethName toSingName fromSingName demoteRepNamesingKindClassName sEqClassName sEqMethNamesIfName sconsNamesnilNamekProxyDataNamekProxyTypeNamesomeSingTypeNamesomeSingDataName proxyTypeName proxyDataName sListNamesDecideClassNamesDecideMethName provedName disprovedNamereflName equalityName applySingNamesuppressClassNamesuppressMethodName thenCmpName kindOfNametyFromIntegerName tyNegateNamesFromIntegerName sNegateName errorName foldlName cmpEQName cmpLTName cmpGTNamesingletonsToEnumNamesingletonsFromEnumNameenumNamesingletonsEnumName equalsNamesingPkg mk_name_tc mk_name_d mk_name_vmkTupleTypeNamemkTupleDataNamepromoteValNameLhspromoteValNameLhsPrefix promoteValRhs promoteTySympromoteClassName classTvsNamemkTyName falseTySym trueTySymboolKiandTySymsingDataConName singTyConName singClassName singValName kindParamproxyFor singFamilysingKindConstraintdemoteapplymkListE foldApplymkEqPred mkKProxies mkOrdInstancemk_equal_clausemk_nonequal_clauseLetBindPrMPrEnvpr_lambda_bound pr_let_boundpr_local_decls LetExpansions emptyPrEnv allLocalsemitDecs emitDecsM lambdaBindletBind lookupVarEpromoteM promoteM_ promoteMDecs $fDsMonadPrMSgMSgEnv sg_let_bindssg_local_decls emptySgEnvliftSgMbindLets bindTyVarsEq bindTyVars lookupConElookup_var_con wrapSingFun wrapUnSingFunsingM singDecsM $fDsMonadSgM $fQuasiSgMmkBoundedInstancemkEnumInstancemkEqTypeInstance promoteTypepromoteUnraveled defunInfobuildDefunSymsbuildDefunSymsDataDdefunctionalize buildTyFunbuildTyFun_maybe tyFunArityisTyFun ravelTyFun partitionDecsOrdPartitionedDecsPDecs pd_let_decs pd_class_decspd_instance_decs pd_data_decs partitionDecpartitionClassDecpartitionInstanceDec$fMonoidPartitionedDecspromoteInstance promoteInfo promoteDecspromoteDataDecspromoteLetDecspromoteDataDecpromoteClassDecpromoteInstanceDec promoteMethodpromoteLetDecEnvpromoteInfixDeclpromoteLetDecRHS promoteClause promoteMatch promotePat promoteExp promoteLitExp promoteLitPatsingTypesingPred singPredRecEqualityClassDesc sEqClassDescsDecideClassDescmkEqualityInstancemkEqMethClausemkDecideMethClause singDataDsingCtorPatternContext LetBinding CaseStatement ParametersingEqualityInstancesingInfosingTopLevelDecs buildDataLets buildMethLets singClassD singInstD singLetDecEnv singInfixDecl singTySig singLetDecRHS singClausecheckIfBrainWillExplodesingPatsingExp isException singMatchsingLitTuple7Sym0KindInferenceTuple7Sym1KindInferenceTuple7Sym2KindInferenceTuple7Sym3KindInferenceTuple7Sym4KindInferenceTuple7Sym5KindInferenceTuple7Sym6KindInferenceTuple6Sym0KindInferenceTuple6Sym1KindInferenceTuple6Sym2KindInferenceTuple6Sym3KindInferenceTuple6Sym4KindInferenceTuple6Sym5KindInferenceTuple5Sym0KindInferenceTuple5Sym1KindInferenceTuple5Sym2KindInferenceTuple5Sym3KindInferenceTuple5Sym4KindInferenceTuple4Sym0KindInferenceTuple4Sym1KindInferenceTuple4Sym2KindInferenceTuple4Sym3KindInferenceTuple3Sym0KindInferenceTuple3Sym1KindInferenceTuple3Sym2KindInferenceTuple2Sym0KindInferenceTuple2Sym1KindInferenceRightSym0KindInferenceLeftSym0KindInference:$###:$$###JustSym0KindInferenceSLTSEQSGTSFalseSTrueSLeftSRightSNilSConsSNothingSJustTFCo:R:DemoteRep()KProxy$fSDecide()KProxyFoldlSym0KindInferenceFoldlSym1KindInferenceFoldlSym2KindInferenceLet1627532338LgoLet1627532338LgoSym0!Let1627532338LgoSym0KindInferenceLet1627532338LgoSym1!Let1627532338LgoSym1KindInferenceLet1627532338LgoSym2!Let1627532338LgoSym2KindInferenceLet1627532338LgoSym3!Let1627532338LgoSym3KindInferenceLet1627532338LgoSym4!Let1627532338LgoSym4KindInferenceLet1627532338LgoSym5TFCo:R:Apply(->)(->)FoldlSym0l0Bool_Sym0KindInferenceBool_Sym1KindInferenceBool_Sym2KindInferenceTFCo:R:Apply(->)kBool_Sym0l0:&&$###:&&$$###:||$###:||$$###NotSym0KindInferenceTFCo:R:Apply(->)Bool:&&$l0Equals_1627553891Equals_1627553904Equals_1627553923Equals_1627553942Equals_1627553962Equals_1627553988Equals_1627554020Equals_1627554058Equals_1627554102Equals_1627554144Equals_1627554151Equals_1627554158:/=$###:/=$$###:==$###:==$$###TFCo:R:Apply(->)k:/=$l0TFCo:R::==()a0b0Case_1627566584Case_1627566594Compare_1627566600Case_1627566628TFHelper_1627566633Case_1627566661TFHelper_1627566666Case_1627566694TFHelper_1627566699Case_1627566727TFHelper_1627566732Case_1627566760Max_1627566765Case_1627566793Min_1627566798Compare_1627575292Compare_1627575344Compare_1627575400Compare_1627575444Compare_1627575487Compare_1627575538Compare_1627575597Compare_1627575664Compare_1627575739Compare_1627575774Compare_1627575798Compare_1627575827Min_1627566798Sym0Min_1627566798Sym0KindInferenceMin_1627566798Sym1Min_1627566798Sym1KindInferenceMin_1627566798Sym2!Let1627566785Scrutinee_1627565778%Let1627566785Scrutinee_1627565778Sym02Let1627566785Scrutinee_1627565778Sym0KindInference%Let1627566785Scrutinee_1627565778Sym12Let1627566785Scrutinee_1627565778Sym1KindInference%Let1627566785Scrutinee_1627565778Sym2Max_1627566765Sym0Max_1627566765Sym0KindInferenceMax_1627566765Sym1Max_1627566765Sym1KindInferenceMax_1627566765Sym2!Let1627566752Scrutinee_1627565776%Let1627566752Scrutinee_1627565776Sym02Let1627566752Scrutinee_1627565776Sym0KindInference%Let1627566752Scrutinee_1627565776Sym12Let1627566752Scrutinee_1627565776Sym1KindInference%Let1627566752Scrutinee_1627565776Sym2TFHelper_1627566732Sym0$TFHelper_1627566732Sym0KindInferenceTFHelper_1627566732Sym1$TFHelper_1627566732Sym1KindInferenceTFHelper_1627566732Sym2!Let1627566719Scrutinee_1627565774%Let1627566719Scrutinee_1627565774Sym02Let1627566719Scrutinee_1627565774Sym0KindInference%Let1627566719Scrutinee_1627565774Sym12Let1627566719Scrutinee_1627565774Sym1KindInference%Let1627566719Scrutinee_1627565774Sym2TFHelper_1627566699Sym0$TFHelper_1627566699Sym0KindInferenceTFHelper_1627566699Sym1$TFHelper_1627566699Sym1KindInferenceTFHelper_1627566699Sym2!Let1627566686Scrutinee_1627565772%Let1627566686Scrutinee_1627565772Sym02Let1627566686Scrutinee_1627565772Sym0KindInference%Let1627566686Scrutinee_1627565772Sym12Let1627566686Scrutinee_1627565772Sym1KindInference%Let1627566686Scrutinee_1627565772Sym2TFHelper_1627566666Sym0$TFHelper_1627566666Sym0KindInferenceTFHelper_1627566666Sym1$TFHelper_1627566666Sym1KindInferenceTFHelper_1627566666Sym2!Let1627566653Scrutinee_1627565770%Let1627566653Scrutinee_1627565770Sym02Let1627566653Scrutinee_1627565770Sym0KindInference%Let1627566653Scrutinee_1627565770Sym12Let1627566653Scrutinee_1627565770Sym1KindInference%Let1627566653Scrutinee_1627565770Sym2TFHelper_1627566633Sym0$TFHelper_1627566633Sym0KindInferenceTFHelper_1627566633Sym1$TFHelper_1627566633Sym1KindInferenceTFHelper_1627566633Sym2!Let1627566620Scrutinee_1627565768%Let1627566620Scrutinee_1627565768Sym02Let1627566620Scrutinee_1627565768Sym0KindInference%Let1627566620Scrutinee_1627565768Sym12Let1627566620Scrutinee_1627565768Sym1KindInference%Let1627566620Scrutinee_1627565768Sym2Compare_1627566600Sym0#Compare_1627566600Sym0KindInferenceCompare_1627566600Sym1#Compare_1627566600Sym1KindInferenceCompare_1627566600Sym2!Let1627566586Scrutinee_1627565766%Let1627566586Scrutinee_1627565766Sym02Let1627566586Scrutinee_1627565766Sym0KindInference%Let1627566586Scrutinee_1627565766Sym12Let1627566586Scrutinee_1627565766Sym1KindInference%Let1627566586Scrutinee_1627565766Sym2!Let1627566576Scrutinee_1627565764%Let1627566576Scrutinee_1627565764Sym02Let1627566576Scrutinee_1627565764Sym0KindInference%Let1627566576Scrutinee_1627565764Sym12Let1627566576Scrutinee_1627565764Sym1KindInference%Let1627566576Scrutinee_1627565764Sym2MinSym0KindInferenceMinSym1KindInferenceMaxSym0KindInferenceMaxSym1KindInference:>=$###:>=$$###:>$###:>$$###:<=$###:<=$$###:<$###:<$$###CompareSym0KindInferenceCompareSym1KindInference%TFCo:R:Apply(->)kMin_1627566798Sym0l0ThenCmpSym0KindInferenceThenCmpSym1KindInference%TFCo:R:Apply(->)OrderingThenCmpSym0l0Compare_1627575827Sym0#Compare_1627575827Sym0KindInferenceCompare_1627575827Sym1#Compare_1627575827Sym1KindInferenceCompare_1627575827Sym2Compare_1627575798Sym0#Compare_1627575798Sym0KindInferenceCompare_1627575798Sym1#Compare_1627575798Sym1KindInferenceCompare_1627575798Sym2Compare_1627575774Sym0#Compare_1627575774Sym0KindInferenceCompare_1627575774Sym1#Compare_1627575774Sym1KindInferenceCompare_1627575774Sym2Compare_1627575739Sym0#Compare_1627575739Sym0KindInferenceCompare_1627575739Sym1#Compare_1627575739Sym1KindInferenceCompare_1627575739Sym2Compare_1627575664Sym0#Compare_1627575664Sym0KindInferenceCompare_1627575664Sym1#Compare_1627575664Sym1KindInferenceCompare_1627575664Sym2Compare_1627575597Sym0#Compare_1627575597Sym0KindInferenceCompare_1627575597Sym1#Compare_1627575597Sym1KindInferenceCompare_1627575597Sym2Compare_1627575538Sym0#Compare_1627575538Sym0KindInferenceCompare_1627575538Sym1#Compare_1627575538Sym1KindInferenceCompare_1627575538Sym2Compare_1627575487Sym0#Compare_1627575487Sym0KindInferenceCompare_1627575487Sym1#Compare_1627575487Sym1KindInferenceCompare_1627575487Sym2Compare_1627575444Sym0#Compare_1627575444Sym0KindInferenceCompare_1627575444Sym1#Compare_1627575444Sym1KindInferenceCompare_1627575444Sym2Compare_1627575400Sym0#Compare_1627575400Sym0KindInferenceCompare_1627575400Sym1#Compare_1627575400Sym1KindInferenceCompare_1627575400Sym2Compare_1627575344Sym0#Compare_1627575344Sym0KindInferenceCompare_1627575344Sym1#Compare_1627575344Sym1KindInferenceCompare_1627575344Sym2Compare_1627575292Sym0#Compare_1627575292Sym0KindInferenceCompare_1627575292Sym1#Compare_1627575292Sym1KindInferenceCompare_1627575292Sym2TFCo:R:Compare()a0a1STypeRepdirty_mk_STypeRep$fTestCoercion*Sing$fSDecide*KProxy $fSEq*KProxy $fPEq*KProxy$fSingKind*KProxy $fSingI*a TFCo:R:Sing*aLambda_1627631621FoldrSym0KindInferenceFoldrSym1KindInferenceFoldrSym2KindInferenceMapSym0KindInferenceMapSym1KindInference:++$###:++$$###IdSym0KindInferenceAsTypeOfSym0KindInferenceAsTypeOfSym1KindInferenceConstSym0KindInferenceConstSym1KindInference:.$###:.$$###:.$$$###FlipSym0KindInferenceFlipSym1KindInferenceFlipSym2KindInferenceSeqSym0KindInferenceSeqSym1KindInferenceLet1627631724GoLet1627631724GoSym0 Let1627631724GoSym0KindInferenceLet1627631724GoSym1 Let1627631724GoSym1KindInferenceLet1627631724GoSym2 Let1627631724GoSym2KindInferenceLet1627631724GoSym3 Let1627631724GoSym3KindInferenceLet1627631724GoSym4Lambda_1627631621Sym0"Lambda_1627631621Sym0KindInferenceLambda_1627631621Sym1"Lambda_1627631621Sym1KindInferenceLambda_1627631621Sym2"Lambda_1627631621Sym2KindInferenceLambda_1627631621Sym3"Lambda_1627631621Sym3KindInferenceLambda_1627631621Sym4TFCo:R:Applyk1k$!$$argTFCo:R:Apply(->)(->)$!$argTFCo:R:$!kk1fxTFCo:R:Applyk1k$$$argTFCo:R:Apply(->)(->)$$arg TFCo:R:$kk1fxTFCo:R:Apply(->)(->)FoldrSym0l0GHC.ErrerrorSSym$fSOrdSymbolKProxy$fSOrdNatKProxy$fPOrdSymbolKProxy$fPOrdNatKProxy$fSEqSymbolKProxy$fSEqNatKProxy$fPEqSymbolKProxy$fPEqNatKProxy$fSDecideSymbolKProxy$fSDecideNatKProxy$fSingKindSymbolKProxy$fSingISymbolnTFCo:R:SingSymboln$fSingKindNatKProxy $fSingINatnTFCo:R:SingNatnErrorSym0KindInferenceTFCo:R:Applykk1ErrorSym0l0:^$###:^$$###TFCo:R:Apply(->)Nat:^$l0TFHelper_1627645712Negate_1627645727 SignumNatNegate_1627645727Sym0"Negate_1627645727Sym0KindInferenceNegate_1627645727Sym1TFHelper_1627645712Sym0$TFHelper_1627645712Sym0KindInferenceTFHelper_1627645712Sym1$TFHelper_1627645712Sym1KindInferenceTFHelper_1627645712Sym2FromIntegerSym0KindInferenceSignumSym0KindInferenceAbsSym0KindInferenceNegateSym0KindInference:*$###:*$$###:-$###:-$$###:+$###:+$$###$fSNumNatKProxy$fPNumNatKProxy%TFCo:R:ApplykkNegate_1627645727Sym0l0SubtractSym0KindInferenceSubtractSym1KindInferenceTFCo:R:Apply(->)kSubtractSym0l0no_term_level_nats$fNumNat buildCasesEither_Sym0KindInferenceEither_Sym1KindInferenceEither_Sym2KindInference!TFCo:R:Apply(->)(->)Either_Sym0l0LeftsSym0KindInferenceRightsSym0KindInferencePartitionEithersSym0!PartitionEithersSym0KindInferencePartitionEithersSym1IsLeftSym0KindInferenceIsRightSym0KindInferenceLet1627654355LeftLet1627654355RightLet1627654355LeftSym0"Let1627654355LeftSym0KindInferenceLet1627654355LeftSym1"Let1627654355LeftSym1KindInferenceLet1627654355LeftSym2"Let1627654355LeftSym2KindInferenceLet1627654355LeftSym3Let1627654355RightSym0#Let1627654355RightSym0KindInferenceLet1627654355RightSym1#Let1627654355RightSym1KindInferenceLet1627654355RightSym2#Let1627654355RightSym2KindInferenceLet1627654355RightSym3TFCo:R:Apply[][]LeftsSym0l0UncurrySym0KindInferenceUncurrySym1KindInferenceFstSym0KindInferenceSndSym0KindInferenceCurrySym0KindInferenceCurrySym1KindInferenceCurrySym2KindInferenceSwapSym0KindInference!TFCo:R:Apply(->)(->)UncurrySym0l0Case_1627665833Case_1627665836UntilSym0KindInferenceUntilSym1KindInferenceUntilSym2KindInferenceLet1627665812GoLet1627665812GoSym0 Let1627665812GoSym0KindInferenceLet1627665812GoSym1 Let1627665812GoSym1KindInferenceLet1627665812GoSym2 Let1627665812GoSym2KindInferenceLet1627665812GoSym3 Let1627665812GoSym3KindInferenceLet1627665812GoSym4TFCo:R:Apply(->)(->)UntilSym0l0Case_1627675164Case_1627675224Lambda_1627675284Case_1627675288Lambda_1627675324Case_1627675328Lambda_1627675362Case_1627675366Lambda_1627675398Case_1627675402Lambda_1627675432Case_1627675436Lambda_1627675464Case_1627675468Case_1627675798Case_1627675825Case_1627675849Case_1627675890Case_1627675915Case_1627675940Case_1627675965Case_1627676062Case_1627676087Case_1627676112Case_1627676137Case_1627676256Case_1627676303Case_1627676339Case_1627676544Case_1627676631Case_1627676820Case_1627676879Case_1627677032Any_Sym0KindInferenceAny_Sym1KindInferenceTFCo:R:Apply(->)(->)Any_Sym0l0NonEmptySubsequences PrependToAllHeadSym0KindInferenceLastSym0KindInferenceTailSym0KindInferenceInitSym0KindInferenceNullSym0KindInferenceIsSuffixOfSym0KindInferenceIsSuffixOfSym1KindInferenceReverseSym0KindInferenceIntercalateSym0KindInferenceIntercalateSym1KindInferenceIntersperseSym0KindInferenceIntersperseSym1KindInferenceSubsequencesSym0KindInferenceNonEmptySubsequencesSym0%NonEmptySubsequencesSym0KindInferenceNonEmptySubsequencesSym1PrependToAllSym0PrependToAllSym0KindInferencePrependToAllSym1PrependToAllSym1KindInferencePrependToAllSym2PermutationsSym0KindInferenceFoldl1'Sym0KindInferenceFoldl1'Sym1KindInferenceFoldl'Sym0KindInferenceFoldl'Sym1KindInferenceFoldl'Sym2KindInferenceMinimumBySym0KindInferenceMinimumBySym1KindInferenceMaximumBySym0KindInferenceMaximumBySym1KindInferenceFoldl1Sym0KindInferenceFoldl1Sym1KindInferenceFoldr1Sym0KindInferenceFoldr1Sym1KindInferenceConcatSym0KindInferenceConcatMapSym0KindInferenceConcatMapSym1KindInferenceAndSym0KindInferenceOrSym0KindInferenceAllSym0KindInferenceAllSym1KindInferenceScanl1Sym0KindInferenceScanl1Sym1KindInferenceScanlSym0KindInferenceScanlSym1KindInferenceScanlSym2KindInferenceScanrSym0KindInferenceScanrSym1KindInferenceScanrSym2KindInferenceScanr1Sym0KindInferenceScanr1Sym1KindInferenceMapAccumLSym0KindInferenceMapAccumLSym1KindInferenceMapAccumLSym2KindInferenceMapAccumRSym0KindInferenceMapAccumRSym1KindInferenceMapAccumRSym2KindInferenceUnfoldrSym0KindInferenceUnfoldrSym1KindInferenceInitsSym0KindInferenceIsInfixOfSym0KindInferenceIsInfixOfSym1KindInferenceTailsSym0KindInferenceIsPrefixOfSym0KindInferenceIsPrefixOfSym1KindInferenceElemSym0KindInferenceElemSym1KindInferenceNotElemSym0KindInferenceNotElemSym1KindInferenceZipSym0KindInferenceZipSym1KindInferenceZip3Sym0KindInferenceZip3Sym1KindInferenceZip3Sym2KindInferenceZipWithSym0KindInferenceZipWithSym1KindInferenceZipWithSym2KindInferenceZipWith3Sym0KindInferenceZipWith3Sym1KindInferenceZipWith3Sym2KindInferenceZipWith3Sym3KindInferenceUnzipSym0KindInferenceUnzip3Sym0KindInferenceUnzip4Sym0KindInferenceUnzip5Sym0KindInferenceUnzip6Sym0KindInferenceUnzip7Sym0KindInference:\\$###:\\$$###DeleteSym0KindInferenceDeleteSym1KindInferenceDeleteFirstsBySym0KindInferenceDeleteFirstsBySym1KindInferenceDeleteFirstsBySym2KindInferenceDeleteBySym0KindInferenceDeleteBySym1KindInferenceDeleteBySym2KindInferenceSortBySym0KindInferenceSortBySym1KindInferenceInsertBySym0KindInferenceInsertBySym1KindInferenceInsertBySym2KindInferenceLet1627677231Init'Let1627677231Init'Sym0#Let1627677231Init'Sym0KindInferenceLet1627677231Init'Sym1#Let1627677231Init'Sym1KindInferenceLet1627677231Init'Sym2#Let1627677231Init'Sym2KindInferenceLet1627677231Init'Sym3#Let1627677231Init'Sym3KindInferenceLet1627677231Init'Sym4Let1627677185RevLet1627677185RevSym0!Let1627677185RevSym0KindInferenceLet1627677185RevSym1!Let1627677185RevSym1KindInferenceLet1627677185RevSym2!Let1627677185RevSym2KindInferenceLet1627677185RevSym3Let1627677126FLet1627677126FSym0Let1627677126FSym0KindInferenceLet1627677126FSym1Let1627677126FSym1KindInferenceLet1627677126FSym2Let1627677126FSym2KindInferenceLet1627677126FSym3Let1627677126FSym3KindInferenceLet1627677126FSym4Let1627676738PermsLet1627676738PermsSym0#Let1627676738PermsSym0KindInferenceLet1627676738PermsSym1#Let1627676738PermsSym1KindInferenceLet1627676738PermsSym2#Let1627676738PermsSym2KindInferenceLet1627676738PermsSym3Let1627676759InterleaveLet1627676759Interleave'Let1627676759InterleaveSym0(Let1627676759InterleaveSym0KindInferenceLet1627676759InterleaveSym1(Let1627676759InterleaveSym1KindInferenceLet1627676759InterleaveSym2(Let1627676759InterleaveSym2KindInferenceLet1627676759InterleaveSym3(Let1627676759InterleaveSym3KindInferenceLet1627676759InterleaveSym4(Let1627676759InterleaveSym4KindInferenceLet1627676759InterleaveSym5(Let1627676759InterleaveSym5KindInferenceLet1627676759InterleaveSym6Let1627676759Interleave'Sym0)Let1627676759Interleave'Sym0KindInferenceLet1627676759Interleave'Sym1)Let1627676759Interleave'Sym1KindInferenceLet1627676759Interleave'Sym2)Let1627676759Interleave'Sym2KindInferenceLet1627676759Interleave'Sym3)Let1627676759Interleave'Sym3KindInferenceLet1627676759Interleave'Sym4)Let1627676759Interleave'Sym4KindInferenceLet1627676759Interleave'Sym5)Let1627676759Interleave'Sym5KindInferenceLet1627676759Interleave'Sym6)Let1627676759Interleave'Sym6KindInferenceLet1627676759Interleave'Sym7Let1627677027X_1627677028Let1627677027ZsLet1627677027X_1627677028Sym0*Let1627677027X_1627677028Sym0KindInferenceLet1627677027X_1627677028Sym1*Let1627677027X_1627677028Sym1KindInferenceLet1627677027X_1627677028Sym2*Let1627677027X_1627677028Sym2KindInferenceLet1627677027X_1627677028Sym3*Let1627677027X_1627677028Sym3KindInferenceLet1627677027X_1627677028Sym4*Let1627677027X_1627677028Sym4KindInferenceLet1627677027X_1627677028Sym5*Let1627677027X_1627677028Sym5KindInferenceLet1627677027X_1627677028Sym6Let1627677027ZsSym0 Let1627677027ZsSym0KindInferenceLet1627677027ZsSym1 Let1627677027ZsSym1KindInferenceLet1627677027ZsSym2 Let1627677027ZsSym2KindInferenceLet1627677027ZsSym3 Let1627677027ZsSym3KindInferenceLet1627677027ZsSym4 Let1627677027ZsSym4KindInferenceLet1627677027ZsSym5 Let1627677027ZsSym5KindInferenceLet1627677027ZsSym6Let1627676813X_1627676814Let1627676813ZsLet1627676813UsLet1627676813X_1627676814Sym0*Let1627676813X_1627676814Sym0KindInferenceLet1627676813X_1627676814Sym1*Let1627676813X_1627676814Sym1KindInferenceLet1627676813X_1627676814Sym2*Let1627676813X_1627676814Sym2KindInferenceLet1627676813X_1627676814Sym3*Let1627676813X_1627676814Sym3KindInferenceLet1627676813X_1627676814Sym4*Let1627676813X_1627676814Sym4KindInferenceLet1627676813X_1627676814Sym5*Let1627676813X_1627676814Sym5KindInferenceLet1627676813X_1627676814Sym6*Let1627676813X_1627676814Sym6KindInferenceLet1627676813X_1627676814Sym7*Let1627676813X_1627676814Sym7KindInferenceLet1627676813X_1627676814Sym8Let1627676813ZsSym0 Let1627676813ZsSym0KindInferenceLet1627676813ZsSym1 Let1627676813ZsSym1KindInferenceLet1627676813ZsSym2 Let1627676813ZsSym2KindInferenceLet1627676813ZsSym3 Let1627676813ZsSym3KindInferenceLet1627676813ZsSym4 Let1627676813ZsSym4KindInferenceLet1627676813ZsSym5 Let1627676813ZsSym5KindInferenceLet1627676813ZsSym6 Let1627676813ZsSym6KindInferenceLet1627676813ZsSym7 Let1627676813ZsSym7KindInferenceLet1627676813ZsSym8Let1627676813UsSym0 Let1627676813UsSym0KindInferenceLet1627676813UsSym1 Let1627676813UsSym1KindInferenceLet1627676813UsSym2 Let1627676813UsSym2KindInferenceLet1627676813UsSym3 Let1627676813UsSym3KindInferenceLet1627676813UsSym4 Let1627676813UsSym4KindInferenceLet1627676813UsSym5 Let1627676813UsSym5KindInferenceLet1627676813UsSym6 Let1627676813UsSym6KindInferenceLet1627676813UsSym7 Let1627676813UsSym7KindInferenceLet1627676813UsSym8Let1627676652LgoLet1627676652LgoSym0!Let1627676652LgoSym0KindInferenceLet1627676652LgoSym1!Let1627676652LgoSym1KindInferenceLet1627676652LgoSym2!Let1627676652LgoSym2KindInferenceLet1627676652LgoSym3!Let1627676652LgoSym3KindInferenceLet1627676652LgoSym4!Let1627676652LgoSym4KindInferenceLet1627676652LgoSym5Let1627676684Z'Let1627676684Z'Sym0 Let1627676684Z'Sym0KindInferenceLet1627676684Z'Sym1 Let1627676684Z'Sym1KindInferenceLet1627676684Z'Sym2 Let1627676684Z'Sym2KindInferenceLet1627676684Z'Sym3 Let1627676684Z'Sym3KindInferenceLet1627676684Z'Sym4 Let1627676684Z'Sym4KindInferenceLet1627676684Z'Sym5 Let1627676684Z'Sym5KindInferenceLet1627676684Z'Sym6Let1627676575MinByLet1627676575MinBySym0#Let1627676575MinBySym0KindInferenceLet1627676575MinBySym1#Let1627676575MinBySym1KindInferenceLet1627676575MinBySym2#Let1627676575MinBySym2KindInferenceLet1627676575MinBySym3#Let1627676575MinBySym3KindInferenceLet1627676575MinBySym4#Let1627676575MinBySym4KindInferenceLet1627676575MinBySym5!Let1627676605Scrutinee_1627675097%Let1627676605Scrutinee_1627675097Sym02Let1627676605Scrutinee_1627675097Sym0KindInference%Let1627676605Scrutinee_1627675097Sym12Let1627676605Scrutinee_1627675097Sym1KindInference%Let1627676605Scrutinee_1627675097Sym22Let1627676605Scrutinee_1627675097Sym2KindInference%Let1627676605Scrutinee_1627675097Sym32Let1627676605Scrutinee_1627675097Sym3KindInference%Let1627676605Scrutinee_1627675097Sym42Let1627676605Scrutinee_1627675097Sym4KindInference%Let1627676605Scrutinee_1627675097Sym5Let1627676562XsLet1627676562XsSym0 Let1627676562XsSym0KindInferenceLet1627676562XsSym1 Let1627676562XsSym1KindInferenceLet1627676562XsSym2 Let1627676562XsSym2KindInferenceLet1627676562XsSym3Let1627676488MaxByLet1627676488MaxBySym0#Let1627676488MaxBySym0KindInferenceLet1627676488MaxBySym1#Let1627676488MaxBySym1KindInferenceLet1627676488MaxBySym2#Let1627676488MaxBySym2KindInferenceLet1627676488MaxBySym3#Let1627676488MaxBySym3KindInferenceLet1627676488MaxBySym4#Let1627676488MaxBySym4KindInferenceLet1627676488MaxBySym5!Let1627676518Scrutinee_1627675091%Let1627676518Scrutinee_1627675091Sym02Let1627676518Scrutinee_1627675091Sym0KindInference%Let1627676518Scrutinee_1627675091Sym12Let1627676518Scrutinee_1627675091Sym1KindInference%Let1627676518Scrutinee_1627675091Sym22Let1627676518Scrutinee_1627675091Sym2KindInference%Let1627676518Scrutinee_1627675091Sym32Let1627676518Scrutinee_1627675091Sym3KindInference%Let1627676518Scrutinee_1627675091Sym42Let1627676518Scrutinee_1627675091Sym4KindInference%Let1627676518Scrutinee_1627675091Sym5Let1627676475XsLet1627676475XsSym0 Let1627676475XsSym0KindInferenceLet1627676475XsSym1 Let1627676475XsSym1KindInferenceLet1627676475XsSym2 Let1627676475XsSym2KindInferenceLet1627676475XsSym3Let1627676423XsLet1627676423XsSym0 Let1627676423XsSym0KindInferenceLet1627676423XsSym1 Let1627676423XsSym1KindInferenceLet1627676423XsSym2 Let1627676423XsSym2KindInferenceLet1627676423XsSym3 Let1627676423XsSym3KindInferenceLet1627676423XsSym4!Let1627676326Scrutinee_1627675047%Let1627676326Scrutinee_1627675047Sym02Let1627676326Scrutinee_1627675047Sym0KindInference%Let1627676326Scrutinee_1627675047Sym12Let1627676326Scrutinee_1627675047Sym1KindInference%Let1627676326Scrutinee_1627675047Sym22Let1627676326Scrutinee_1627675047Sym2KindInference%Let1627676326Scrutinee_1627675047Sym3!Let1627676284Scrutinee_1627675049%Let1627676284Scrutinee_1627675049Sym02Let1627676284Scrutinee_1627675049Sym0KindInference%Let1627676284Scrutinee_1627675049Sym12Let1627676284Scrutinee_1627675049Sym1KindInference%Let1627676284Scrutinee_1627675049Sym22Let1627676284Scrutinee_1627675049Sym2KindInference%Let1627676284Scrutinee_1627675049Sym32Let1627676284Scrutinee_1627675049Sym3KindInference%Let1627676284Scrutinee_1627675049Sym4!Let1627676237Scrutinee_1627675051%Let1627676237Scrutinee_1627675051Sym02Let1627676237Scrutinee_1627675051Sym0KindInference%Let1627676237Scrutinee_1627675051Sym12Let1627676237Scrutinee_1627675051Sym1KindInference%Let1627676237Scrutinee_1627675051Sym22Let1627676237Scrutinee_1627675051Sym2KindInference%Let1627676237Scrutinee_1627675051Sym32Let1627676237Scrutinee_1627675051Sym3KindInference%Let1627676237Scrutinee_1627675051Sym4Let1627676218XsLet1627676218XsSym0 Let1627676218XsSym0KindInferenceLet1627676218XsSym1 Let1627676218XsSym1KindInferenceLet1627676218XsSym2 Let1627676218XsSym2KindInferenceLet1627676218XsSym3 Let1627676218XsSym3KindInferenceLet1627676218XsSym4Let1627676049X_1627676056Let1627676049X_1627676050Let1627676049YsLet1627676049S''Let1627676049YLet1627676049S'Let1627676049X_1627676056Sym0*Let1627676049X_1627676056Sym0KindInferenceLet1627676049X_1627676056Sym1*Let1627676049X_1627676056Sym1KindInferenceLet1627676049X_1627676056Sym2*Let1627676049X_1627676056Sym2KindInferenceLet1627676049X_1627676056Sym3*Let1627676049X_1627676056Sym3KindInferenceLet1627676049X_1627676056Sym4Let1627676049X_1627676050Sym0*Let1627676049X_1627676050Sym0KindInferenceLet1627676049X_1627676050Sym1*Let1627676049X_1627676050Sym1KindInferenceLet1627676049X_1627676050Sym2*Let1627676049X_1627676050Sym2KindInferenceLet1627676049X_1627676050Sym3*Let1627676049X_1627676050Sym3KindInferenceLet1627676049X_1627676050Sym4Let1627676049YsSym0 Let1627676049YsSym0KindInferenceLet1627676049YsSym1 Let1627676049YsSym1KindInferenceLet1627676049YsSym2 Let1627676049YsSym2KindInferenceLet1627676049YsSym3 Let1627676049YsSym3KindInferenceLet1627676049YsSym4Let1627676049S''Sym0!Let1627676049S''Sym0KindInferenceLet1627676049S''Sym1!Let1627676049S''Sym1KindInferenceLet1627676049S''Sym2!Let1627676049S''Sym2KindInferenceLet1627676049S''Sym3!Let1627676049S''Sym3KindInferenceLet1627676049S''Sym4Let1627676049YSym0Let1627676049YSym0KindInferenceLet1627676049YSym1Let1627676049YSym1KindInferenceLet1627676049YSym2Let1627676049YSym2KindInferenceLet1627676049YSym3Let1627676049YSym3KindInferenceLet1627676049YSym4Let1627676049S'Sym0 Let1627676049S'Sym0KindInferenceLet1627676049S'Sym1 Let1627676049S'Sym1KindInferenceLet1627676049S'Sym2 Let1627676049S'Sym2KindInferenceLet1627676049S'Sym3 Let1627676049S'Sym3KindInferenceLet1627676049S'Sym4Let1627675877X_1627675884Let1627675877X_1627675878Let1627675877YLet1627675877S''Let1627675877YsLet1627675877S'Let1627675877X_1627675884Sym0*Let1627675877X_1627675884Sym0KindInferenceLet1627675877X_1627675884Sym1*Let1627675877X_1627675884Sym1KindInferenceLet1627675877X_1627675884Sym2*Let1627675877X_1627675884Sym2KindInferenceLet1627675877X_1627675884Sym3*Let1627675877X_1627675884Sym3KindInferenceLet1627675877X_1627675884Sym4Let1627675877X_1627675878Sym0*Let1627675877X_1627675878Sym0KindInferenceLet1627675877X_1627675878Sym1*Let1627675877X_1627675878Sym1KindInferenceLet1627675877X_1627675878Sym2*Let1627675877X_1627675878Sym2KindInferenceLet1627675877X_1627675878Sym3*Let1627675877X_1627675878Sym3KindInferenceLet1627675877X_1627675878Sym4Let1627675877YSym0Let1627675877YSym0KindInferenceLet1627675877YSym1Let1627675877YSym1KindInferenceLet1627675877YSym2Let1627675877YSym2KindInferenceLet1627675877YSym3Let1627675877YSym3KindInferenceLet1627675877YSym4Let1627675877S''Sym0!Let1627675877S''Sym0KindInferenceLet1627675877S''Sym1!Let1627675877S''Sym1KindInferenceLet1627675877S''Sym2!Let1627675877S''Sym2KindInferenceLet1627675877S''Sym3!Let1627675877S''Sym3KindInferenceLet1627675877S''Sym4Let1627675877YsSym0 Let1627675877YsSym0KindInferenceLet1627675877YsSym1 Let1627675877YsSym1KindInferenceLet1627675877YsSym2 Let1627675877YsSym2KindInferenceLet1627675877YsSym3 Let1627675877YsSym3KindInferenceLet1627675877YsSym4Let1627675877S'Sym0 Let1627675877S'Sym0KindInferenceLet1627675877S'Sym1 Let1627675877S'Sym1KindInferenceLet1627675877S'Sym2 Let1627675877S'Sym2KindInferenceLet1627675877S'Sym3 Let1627675877S'Sym3KindInferenceLet1627675877S'Sym4!Let1627675841Scrutinee_1627675057%Let1627675841Scrutinee_1627675057Sym02Let1627675841Scrutinee_1627675057Sym0KindInference%Let1627675841Scrutinee_1627675057Sym12Let1627675841Scrutinee_1627675057Sym1KindInference%Let1627675841Scrutinee_1627675057Sym2!Let1627675821Scrutinee_1627675059%Let1627675821Scrutinee_1627675059Sym02Let1627675821Scrutinee_1627675059Sym0KindInference%Let1627675821Scrutinee_1627675059Sym1!Let1627675794Scrutinee_1627675061%Let1627675794Scrutinee_1627675061Sym02Let1627675794Scrutinee_1627675061Sym0KindInference%Let1627675794Scrutinee_1627675061Sym1Lambda_1627675464Sym0"Lambda_1627675464Sym0KindInferenceLambda_1627675464Sym1"Lambda_1627675464Sym1KindInferenceLambda_1627675464Sym2"Lambda_1627675464Sym2KindInferenceLambda_1627675464Sym3Lambda_1627675432Sym0"Lambda_1627675432Sym0KindInferenceLambda_1627675432Sym1"Lambda_1627675432Sym1KindInferenceLambda_1627675432Sym2"Lambda_1627675432Sym2KindInferenceLambda_1627675432Sym3Lambda_1627675398Sym0"Lambda_1627675398Sym0KindInferenceLambda_1627675398Sym1"Lambda_1627675398Sym1KindInferenceLambda_1627675398Sym2"Lambda_1627675398Sym2KindInferenceLambda_1627675398Sym3Lambda_1627675362Sym0"Lambda_1627675362Sym0KindInferenceLambda_1627675362Sym1"Lambda_1627675362Sym1KindInferenceLambda_1627675362Sym2"Lambda_1627675362Sym2KindInferenceLambda_1627675362Sym3Lambda_1627675324Sym0"Lambda_1627675324Sym0KindInferenceLambda_1627675324Sym1"Lambda_1627675324Sym1KindInferenceLambda_1627675324Sym2"Lambda_1627675324Sym2KindInferenceLambda_1627675324Sym3Lambda_1627675284Sym0"Lambda_1627675284Sym0KindInferenceLambda_1627675284Sym1"Lambda_1627675284Sym1KindInferenceLambda_1627675284Sym2"Lambda_1627675284Sym2KindInferenceLambda_1627675284Sym3!Let1627675205Scrutinee_1627675087%Let1627675205Scrutinee_1627675087Sym02Let1627675205Scrutinee_1627675087Sym0KindInference%Let1627675205Scrutinee_1627675087Sym12Let1627675205Scrutinee_1627675087Sym1KindInference%Let1627675205Scrutinee_1627675087Sym22Let1627675205Scrutinee_1627675087Sym2KindInference%Let1627675205Scrutinee_1627675087Sym32Let1627675205Scrutinee_1627675087Sym3KindInference%Let1627675205Scrutinee_1627675087Sym4!Let1627675145Scrutinee_1627675089%Let1627675145Scrutinee_1627675089Sym02Let1627675145Scrutinee_1627675089Sym0KindInference%Let1627675145Scrutinee_1627675089Sym12Let1627675145Scrutinee_1627675089Sym1KindInference%Let1627675145Scrutinee_1627675089Sym22Let1627675145Scrutinee_1627675089Sym2KindInference%Let1627675145Scrutinee_1627675089Sym32Let1627675145Scrutinee_1627675089Sym3KindInference%Let1627675145Scrutinee_1627675089Sym4Let1627675126YsLet1627675126YsSym0 Let1627675126YsSym0KindInferenceLet1627675126YsSym1 Let1627675126YsSym1KindInferenceLet1627675126YsSym2 Let1627675126YsSym2KindInferenceLet1627675126YsSym3 Let1627675126YsSym3KindInferenceLet1627675126YsSym4 sPrependToAllsNonEmptySubsequencesTFCo:R:Applyk[]HeadSym0l0Case_1627816115Case_1627816158Maybe_Sym0KindInferenceMaybe_Sym1KindInferenceMaybe_Sym2KindInferenceTFCo:R:Apply(->)kMaybe_Sym0l0IsJustSym0KindInferenceIsNothingSym0KindInferenceFromJustSym0KindInferenceFromMaybeSym0KindInferenceFromMaybeSym1KindInferenceMaybeToListSym0KindInferenceListToMaybeSym0KindInferenceCatMaybesSym0KindInferenceMapMaybeSym0KindInferenceMapMaybeSym1KindInference!Let1627816150Scrutinee_1627816070%Let1627816150Scrutinee_1627816070Sym02Let1627816150Scrutinee_1627816070Sym0KindInference%Let1627816150Scrutinee_1627816070Sym12Let1627816150Scrutinee_1627816070Sym1KindInference%Let1627816150Scrutinee_1627816070Sym2!Let1627816102Scrutinee_1627816072%Let1627816102Scrutinee_1627816072Sym02Let1627816102Scrutinee_1627816072Sym0KindInference%Let1627816102Scrutinee_1627816072Sym12Let1627816102Scrutinee_1627816072Sym1KindInference%Let1627816102Scrutinee_1627816072Sym22Let1627816102Scrutinee_1627816072Sym2KindInference%Let1627816102Scrutinee_1627816072Sym3Let1627816089RsLet1627816089RsSym0 Let1627816089RsSym0KindInferenceLet1627816089RsSym1 Let1627816089RsSym1KindInferenceLet1627816089RsSym2 Let1627816089RsSym2KindInferenceLet1627816089RsSym3!TFCo:R:ApplyBoolMaybeIsJustSym0l0MinBound_1627824385MaxBound_1627824387MinBound_1627824397MaxBound_1627824399MinBound_1627824403MaxBound_1627824405MinBound_1627824409MaxBound_1627824411MinBound_1627824415MaxBound_1627824417MinBound_1627824421MaxBound_1627824423MinBound_1627824427MaxBound_1627824429MinBound_1627824433MaxBound_1627824435MinBound_1627824439MaxBound_1627824441Case_1627829297Case_1627829302Case_1627829338Case_1627829452Case_1627829455Case_1627829479Case_1627829484Case_1627829520Case_1627829634Case_1627829637Case_1627829661Case_1627829666Case_1627829681Case_1627829739Case_1627829742Succ_1627829795Pred_1627829808EnumFromTo_1627829826EnumFromThenTo_1627829856Succ_1627829876Pred_1627829887ToEnum_1627829898FromEnum_1627829909EnumFromTo_1627829931EnumFromThenTo_1627829967Case_1627853893Case_1627853895ToEnum_1627853900FromEnum_1627853910Case_1627853929Case_1627853931Case_1627853933ToEnum_1627853939FromEnum_1627853949Case_1627853971ToEnum_1627853975FromEnum_1627853985MaxBound_1627824441Sym0MinBound_1627824439Sym0MaxBound_1627824435Sym0MinBound_1627824433Sym0MaxBound_1627824429Sym0MinBound_1627824427Sym0MaxBound_1627824423Sym0MinBound_1627824421Sym0MaxBound_1627824417Sym0MinBound_1627824415Sym0MaxBound_1627824411Sym0MinBound_1627824409Sym0MaxBound_1627824405Sym0MinBound_1627824403Sym0MaxBound_1627824399Sym0MinBound_1627824397Sym0MaxBound_1627824387Sym0MinBound_1627824385Sym0TFCo:R:MinBound()EnumFromThenTo_1627829967Sym0*EnumFromThenTo_1627829967Sym0KindInferenceEnumFromThenTo_1627829967Sym1*EnumFromThenTo_1627829967Sym1KindInferenceEnumFromThenTo_1627829967Sym2*EnumFromThenTo_1627829967Sym2KindInferenceEnumFromThenTo_1627829967Sym3EnumFromTo_1627829931Sym0&EnumFromTo_1627829931Sym0KindInferenceEnumFromTo_1627829931Sym1&EnumFromTo_1627829931Sym1KindInferenceEnumFromTo_1627829931Sym2FromEnum_1627829909Sym0$FromEnum_1627829909Sym0KindInferenceFromEnum_1627829909Sym1ToEnum_1627829898Sym0"ToEnum_1627829898Sym0KindInferenceToEnum_1627829898Sym1Pred_1627829887Sym0 Pred_1627829887Sym0KindInferencePred_1627829887Sym1Succ_1627829876Sym0 Succ_1627829876Sym0KindInferenceSucc_1627829876Sym1EnumFromThenTo_1627829856Sym0*EnumFromThenTo_1627829856Sym0KindInferenceEnumFromThenTo_1627829856Sym1*EnumFromThenTo_1627829856Sym1KindInferenceEnumFromThenTo_1627829856Sym2*EnumFromThenTo_1627829856Sym2KindInferenceEnumFromThenTo_1627829856Sym3EnumFromTo_1627829826Sym0&EnumFromTo_1627829826Sym0KindInferenceEnumFromTo_1627829826Sym1&EnumFromTo_1627829826Sym1KindInferenceEnumFromTo_1627829826Sym2Pred_1627829808Sym0 Pred_1627829808Sym0KindInferencePred_1627829808Sym1Succ_1627829795Sym0 Succ_1627829795Sym0KindInferenceSucc_1627829795Sym1EnumFromThenToSym0KindInferenceEnumFromThenToSym1KindInferenceEnumFromThenToSym2KindInferenceEnumFromToSym0KindInferenceEnumFromToSym1KindInferenceFromEnumSym0KindInferenceToEnumSym0KindInferencePredSym0KindInferenceSuccSym0KindInferenceEftNatEfdtNat EfdtNatUp EfdtNatDn EftNatSym0EftNatSym0KindInference EftNatSym1EftNatSym1KindInference EftNatSym2 EfdtNatSym0EfdtNatSym0KindInference EfdtNatSym1EfdtNatSym1KindInference EfdtNatSym2EfdtNatSym2KindInference EfdtNatSym3 EfdtNatUpSym0EfdtNatUpSym0KindInference EfdtNatUpSym1EfdtNatUpSym1KindInference EfdtNatUpSym2EfdtNatUpSym2KindInference EfdtNatUpSym3 EfdtNatDnSym0EfdtNatDnSym0KindInference EfdtNatDnSym1EfdtNatDnSym1KindInference EfdtNatDnSym2EfdtNatDnSym2KindInference EfdtNatDnSym3Let1627829685GoLet1627829685GoSym0 Let1627829685GoSym0KindInferenceLet1627829685GoSym1 Let1627829685GoSym1KindInferenceLet1627829685GoSym2 Let1627829685GoSym2KindInferenceLet1627829685GoSym3 Let1627829685GoSym3KindInferenceLet1627829685GoSym4 Let1627829685GoSym4KindInferenceLet1627829685GoSym5!Let1627829713Scrutinee_1627829251%Let1627829713Scrutinee_1627829251Sym02Let1627829713Scrutinee_1627829251Sym0KindInference%Let1627829713Scrutinee_1627829251Sym12Let1627829713Scrutinee_1627829251Sym1KindInference%Let1627829713Scrutinee_1627829251Sym22Let1627829713Scrutinee_1627829251Sym2KindInference%Let1627829713Scrutinee_1627829251Sym32Let1627829713Scrutinee_1627829251Sym3KindInference%Let1627829713Scrutinee_1627829251Sym42Let1627829713Scrutinee_1627829251Sym4KindInference%Let1627829713Scrutinee_1627829251Sym5Let1627829523Go_upLet1627829523Y'Let1627829523DeltaLet1627829523Go_upSym0#Let1627829523Go_upSym0KindInferenceLet1627829523Go_upSym1#Let1627829523Go_upSym1KindInferenceLet1627829523Go_upSym2#Let1627829523Go_upSym2KindInferenceLet1627829523Go_upSym3#Let1627829523Go_upSym3KindInferenceLet1627829523Go_upSym4#Let1627829523Go_upSym4KindInferenceLet1627829523Go_upSym5#Let1627829523Go_upSym5KindInferenceLet1627829523Go_upSym6#Let1627829523Go_upSym6KindInferenceLet1627829523Go_upSym7Let1627829523Y'Sym0 Let1627829523Y'Sym0KindInferenceLet1627829523Y'Sym1 Let1627829523Y'Sym1KindInferenceLet1627829523Y'Sym2 Let1627829523Y'Sym2KindInferenceLet1627829523Y'Sym3 Let1627829523Y'Sym3KindInferenceLet1627829523Y'Sym4 Let1627829523Y'Sym4KindInferenceLet1627829523Y'Sym5 Let1627829523Y'Sym5KindInferenceLet1627829523Y'Sym6Let1627829523DeltaSym0#Let1627829523DeltaSym0KindInferenceLet1627829523DeltaSym1#Let1627829523DeltaSym1KindInferenceLet1627829523DeltaSym2#Let1627829523DeltaSym2KindInferenceLet1627829523DeltaSym3#Let1627829523DeltaSym3KindInferenceLet1627829523DeltaSym4#Let1627829523DeltaSym4KindInferenceLet1627829523DeltaSym5#Let1627829523DeltaSym5KindInferenceLet1627829523DeltaSym6!Let1627829486Scrutinee_1627829265%Let1627829486Scrutinee_1627829265Sym02Let1627829486Scrutinee_1627829265Sym0KindInference%Let1627829486Scrutinee_1627829265Sym12Let1627829486Scrutinee_1627829265Sym1KindInference%Let1627829486Scrutinee_1627829265Sym22Let1627829486Scrutinee_1627829265Sym2KindInference%Let1627829486Scrutinee_1627829265Sym32Let1627829486Scrutinee_1627829265Sym3KindInference%Let1627829486Scrutinee_1627829265Sym42Let1627829486Scrutinee_1627829265Sym4KindInference%Let1627829486Scrutinee_1627829265Sym52Let1627829486Scrutinee_1627829265Sym5KindInference%Let1627829486Scrutinee_1627829265Sym6Let1627829341Go_dnLet1627829341Y'Let1627829341DeltaLet1627829341Go_dnSym0#Let1627829341Go_dnSym0KindInferenceLet1627829341Go_dnSym1#Let1627829341Go_dnSym1KindInferenceLet1627829341Go_dnSym2#Let1627829341Go_dnSym2KindInferenceLet1627829341Go_dnSym3#Let1627829341Go_dnSym3KindInferenceLet1627829341Go_dnSym4#Let1627829341Go_dnSym4KindInferenceLet1627829341Go_dnSym5#Let1627829341Go_dnSym5KindInferenceLet1627829341Go_dnSym6#Let1627829341Go_dnSym6KindInferenceLet1627829341Go_dnSym7Let1627829341Y'Sym0 Let1627829341Y'Sym0KindInferenceLet1627829341Y'Sym1 Let1627829341Y'Sym1KindInferenceLet1627829341Y'Sym2 Let1627829341Y'Sym2KindInferenceLet1627829341Y'Sym3 Let1627829341Y'Sym3KindInferenceLet1627829341Y'Sym4 Let1627829341Y'Sym4KindInferenceLet1627829341Y'Sym5 Let1627829341Y'Sym5KindInferenceLet1627829341Y'Sym6Let1627829341DeltaSym0#Let1627829341DeltaSym0KindInferenceLet1627829341DeltaSym1#Let1627829341DeltaSym1KindInferenceLet1627829341DeltaSym2#Let1627829341DeltaSym2KindInferenceLet1627829341DeltaSym3#Let1627829341DeltaSym3KindInferenceLet1627829341DeltaSym4#Let1627829341DeltaSym4KindInferenceLet1627829341DeltaSym5#Let1627829341DeltaSym5KindInferenceLet1627829341DeltaSym6!Let1627829304Scrutinee_1627829275%Let1627829304Scrutinee_1627829275Sym02Let1627829304Scrutinee_1627829275Sym0KindInference%Let1627829304Scrutinee_1627829275Sym12Let1627829304Scrutinee_1627829275Sym1KindInference%Let1627829304Scrutinee_1627829275Sym22Let1627829304Scrutinee_1627829275Sym2KindInference%Let1627829304Scrutinee_1627829275Sym32Let1627829304Scrutinee_1627829275Sym3KindInference%Let1627829304Scrutinee_1627829275Sym42Let1627829304Scrutinee_1627829275Sym4KindInference%Let1627829304Scrutinee_1627829275Sym52Let1627829304Scrutinee_1627829275Sym5KindInference%Let1627829304Scrutinee_1627829275Sym6 sEfdtNatDn sEfdtNatUpsEfdtNatsEftNatTFCo:R:SuccNata0FromEnum_1627853985Sym0$FromEnum_1627853985Sym0KindInferenceFromEnum_1627853985Sym1ToEnum_1627853975Sym0"ToEnum_1627853975Sym0KindInferenceToEnum_1627853975Sym1FromEnum_1627853949Sym0$FromEnum_1627853949Sym0KindInferenceFromEnum_1627853949Sym1ToEnum_1627853939Sym0"ToEnum_1627853939Sym0KindInferenceToEnum_1627853939Sym1FromEnum_1627853910Sym0$FromEnum_1627853910Sym0KindInferenceFromEnum_1627853910Sym1ToEnum_1627853900Sym0"ToEnum_1627853900Sym0KindInferenceToEnum_1627853900Sym1TFCo:R:ToEnum()a0Case_1627890813Case_1627890818Case_1627890880Case_1627890885Case_1627891410Case_1627891416Case_1627891418Case_1627891468Case_1627891474Case_1627891501Case_1627891506Lambda_1627891549Case_1627891611Case_1627891617Case_1627891661Case_1627891667Case_1627891669Case_1627891704Case_1627891735Case_1627891744Case_1627891776Case_1627891853Case_1627891884Case_1627891893Case_1627891925Case_1627892006Case_1627892025Lambda_1627892074Case_1627892097Case_1627892134Case_1627892165Case_1627892183Case_1627892188Case_1627892203Case_1627892207Case_1627892209Case_1627892248Case_1627892254Case_1627892256Lambda_1627892438Case_1627892441SelectElem_byGenericLengthSym0KindInferenceElemIndexSym0KindInferenceElemIndexSym1KindInferenceFindIndexSym0KindInferenceFindIndexSym1KindInferenceElemIndicesSym0KindInferenceElemIndicesSym1KindInferenceFindIndicesSym0KindInferenceFindIndicesSym1KindInferenceLengthSym0KindInferenceSumSym0KindInferenceProductSym0KindInference!GenericReplicateSym0KindInference!GenericReplicateSym1KindInferenceReplicateSym0KindInferenceReplicateSym1KindInferenceTransposeSym0KindInferenceGenericTakeSym0KindInferenceGenericTakeSym1KindInferenceGenericSplitAtSym0KindInferenceGenericSplitAtSym1KindInferenceSplitAtSym0KindInferenceSplitAtSym1KindInferenceTakeSym0KindInferenceTakeSym1KindInferenceGenericDropSym0KindInferenceGenericDropSym1KindInferenceDropSym0KindInferenceDropSym1KindInferenceTakeWhileSym0KindInferenceTakeWhileSym1KindInferenceDropWhileSym0KindInferenceDropWhileSym1KindInferenceDropWhileEndSym0KindInferenceDropWhileEndSym1KindInferenceGroupSym0KindInferenceGroupBySym0KindInferenceGroupBySym1KindInferenceSpanSym0KindInferenceSpanSym1KindInferenceBreakSym0KindInferenceBreakSym1KindInferenceStripPrefixSym0KindInferenceStripPrefixSym1KindInferenceMaximumSym0KindInferenceMinimumSym0KindInferenceInsertSym0KindInferenceInsertSym1KindInferenceSortSym0KindInferenceLookupSym0KindInferenceLookupSym1KindInferenceFindSym0KindInferenceFindSym1KindInferenceIntersectSym0KindInferenceIntersectSym1KindInferenceIntersectBySym0KindInferenceIntersectBySym1KindInferenceIntersectBySym2KindInferenceIntersectBySym3FilterSym0KindInferenceFilterSym1KindInferencePartitionSym0KindInferencePartitionSym1KindInference SelectSym0SelectSym0KindInference SelectSym1SelectSym1KindInference SelectSym2SelectSym2KindInference SelectSym3GenericIndexSym0KindInferenceGenericIndexSym1KindInference:!!$###:!!$$###Zip4Sym0KindInferenceZip4Sym1KindInferenceZip4Sym2KindInferenceZip4Sym3KindInferenceZip5Sym0KindInferenceZip5Sym1KindInferenceZip5Sym2KindInferenceZip5Sym3KindInferenceZip5Sym4KindInferenceZip6Sym0KindInferenceZip6Sym1KindInferenceZip6Sym2KindInferenceZip6Sym3KindInferenceZip6Sym4KindInferenceZip6Sym5KindInferenceZip7Sym0KindInferenceZip7Sym1KindInferenceZip7Sym2KindInferenceZip7Sym3KindInferenceZip7Sym4KindInferenceZip7Sym5KindInferenceZip7Sym6KindInferenceZipWith4Sym0KindInferenceZipWith4Sym1KindInferenceZipWith4Sym2KindInferenceZipWith4Sym3KindInferenceZipWith4Sym4KindInferenceZipWith5Sym0KindInferenceZipWith5Sym1KindInferenceZipWith5Sym2KindInferenceZipWith5Sym3KindInferenceZipWith5Sym4KindInferenceZipWith5Sym5KindInferenceZipWith6Sym0KindInferenceZipWith6Sym1KindInferenceZipWith6Sym2KindInferenceZipWith6Sym3KindInferenceZipWith6Sym4KindInferenceZipWith6Sym5KindInferenceZipWith6Sym6KindInferenceZipWith7Sym0KindInferenceZipWith7Sym1KindInferenceZipWith7Sym2KindInferenceZipWith7Sym3KindInferenceZipWith7Sym4KindInferenceZipWith7Sym5KindInferenceZipWith7Sym6KindInferenceZipWith7Sym7KindInferenceNubSym0KindInferenceUnionSym0KindInferenceUnionSym1KindInferenceUnionBySym0KindInferenceUnionBySym1KindInferenceUnionBySym2KindInferenceNubBySym0KindInferenceNubBySym1KindInference Elem_bySym0Elem_bySym0KindInference Elem_bySym1Elem_bySym1KindInference Elem_bySym2Elem_bySym2KindInference Elem_bySym3Lambda_1627892438Sym0"Lambda_1627892438Sym0KindInferenceLambda_1627892438Sym1"Lambda_1627892438Sym1KindInferenceLambda_1627892438Sym2"Lambda_1627892438Sym2KindInferenceLambda_1627892438Sym3Let1627892412BuildListLet1627892412BuildListSym0'Let1627892412BuildListSym0KindInferenceLet1627892412BuildListSym1'Let1627892412BuildListSym1KindInferenceLet1627892412BuildListSym2'Let1627892412BuildListSym2KindInferenceLet1627892412BuildListSym3'Let1627892412BuildListSym3KindInferenceLet1627892412BuildListSym4Let1627892374Sum'Let1627892374Sum'Sym0"Let1627892374Sum'Sym0KindInferenceLet1627892374Sum'Sym1"Let1627892374Sum'Sym1KindInferenceLet1627892374Sum'Sym2"Let1627892374Sum'Sym2KindInferenceLet1627892374Sum'Sym3Let1627892350ProdLet1627892350ProdSym0"Let1627892350ProdSym0KindInferenceLet1627892350ProdSym1"Let1627892350ProdSym1KindInferenceLet1627892350ProdSym2"Let1627892350ProdSym2KindInferenceLet1627892350ProdSym3Let1627892139XsLet1627892139XsSym0 Let1627892139XsSym0KindInferenceLet1627892139XsSym1 Let1627892139XsSym1KindInferenceLet1627892139XsSym2 Let1627892139XsSym2KindInferenceLet1627892139XsSym3 Let1627892139XsSym3KindInferenceLet1627892139XsSym4 Let1627892139XsSym4KindInferenceLet1627892139XsSym5Lambda_1627892074Sym0"Lambda_1627892074Sym0KindInferenceLambda_1627892074Sym1"Lambda_1627892074Sym1KindInferenceLambda_1627892074Sym2"Lambda_1627892074Sym2KindInferenceLambda_1627892074Sym3"Lambda_1627892074Sym3KindInferenceLambda_1627892074Sym4!Let1627892078Scrutinee_1627890696%Let1627892078Scrutinee_1627890696Sym02Let1627892078Scrutinee_1627890696Sym0KindInference%Let1627892078Scrutinee_1627890696Sym12Let1627892078Scrutinee_1627890696Sym1KindInference%Let1627892078Scrutinee_1627890696Sym22Let1627892078Scrutinee_1627890696Sym2KindInference%Let1627892078Scrutinee_1627890696Sym32Let1627892078Scrutinee_1627890696Sym3KindInference%Let1627892078Scrutinee_1627890696Sym4Let1627891999X_1627892000Let1627891999ZsLet1627891999YsLet1627891999X_1627892000Sym0*Let1627891999X_1627892000Sym0KindInferenceLet1627891999X_1627892000Sym1*Let1627891999X_1627892000Sym1KindInferenceLet1627891999X_1627892000Sym2*Let1627891999X_1627892000Sym2KindInferenceLet1627891999X_1627892000Sym3Let1627891999ZsSym0 Let1627891999ZsSym0KindInferenceLet1627891999ZsSym1 Let1627891999ZsSym1KindInferenceLet1627891999ZsSym2 Let1627891999ZsSym2KindInferenceLet1627891999ZsSym3Let1627891999YsSym0 Let1627891999YsSym0KindInferenceLet1627891999YsSym1 Let1627891999YsSym1KindInferenceLet1627891999YsSym2 Let1627891999YsSym2KindInferenceLet1627891999YsSym3Let1627891886X_1627891887Let1627891886ZsLet1627891886YsLet1627891886X_1627891887Sym0*Let1627891886X_1627891887Sym0KindInferenceLet1627891886X_1627891887Sym1*Let1627891886X_1627891887Sym1KindInferenceLet1627891886X_1627891887Sym2*Let1627891886X_1627891887Sym2KindInferenceLet1627891886X_1627891887Sym3*Let1627891886X_1627891887Sym3KindInferenceLet1627891886X_1627891887Sym4*Let1627891886X_1627891887Sym4KindInferenceLet1627891886X_1627891887Sym5Let1627891886ZsSym0 Let1627891886ZsSym0KindInferenceLet1627891886ZsSym1 Let1627891886ZsSym1KindInferenceLet1627891886ZsSym2 Let1627891886ZsSym2KindInferenceLet1627891886ZsSym3 Let1627891886ZsSym3KindInferenceLet1627891886ZsSym4 Let1627891886ZsSym4KindInferenceLet1627891886ZsSym5Let1627891886YsSym0 Let1627891886YsSym0KindInferenceLet1627891886YsSym1 Let1627891886YsSym1KindInferenceLet1627891886YsSym2 Let1627891886YsSym2KindInferenceLet1627891886YsSym3 Let1627891886YsSym3KindInferenceLet1627891886YsSym4 Let1627891886YsSym4KindInferenceLet1627891886YsSym5Let1627891858XsLet1627891858XsSym0 Let1627891858XsSym0KindInferenceLet1627891858XsSym1 Let1627891858XsSym1KindInferenceLet1627891858XsSym2 Let1627891858XsSym2KindInferenceLet1627891858XsSym3 Let1627891858XsSym3KindInferenceLet1627891858XsSym4 Let1627891858XsSym4KindInferenceLet1627891858XsSym5Let1627891847XsLet1627891847XsSym0 Let1627891847XsSym0KindInferenceLet1627891847XsSym1Let1627891737X_1627891738Let1627891737ZsLet1627891737YsLet1627891737X_1627891738Sym0*Let1627891737X_1627891738Sym0KindInferenceLet1627891737X_1627891738Sym1*Let1627891737X_1627891738Sym1KindInferenceLet1627891737X_1627891738Sym2*Let1627891737X_1627891738Sym2KindInferenceLet1627891737X_1627891738Sym3*Let1627891737X_1627891738Sym3KindInferenceLet1627891737X_1627891738Sym4*Let1627891737X_1627891738Sym4KindInferenceLet1627891737X_1627891738Sym5Let1627891737ZsSym0 Let1627891737ZsSym0KindInferenceLet1627891737ZsSym1 Let1627891737ZsSym1KindInferenceLet1627891737ZsSym2 Let1627891737ZsSym2KindInferenceLet1627891737ZsSym3 Let1627891737ZsSym3KindInferenceLet1627891737ZsSym4 Let1627891737ZsSym4KindInferenceLet1627891737ZsSym5Let1627891737YsSym0 Let1627891737YsSym0KindInferenceLet1627891737YsSym1 Let1627891737YsSym1KindInferenceLet1627891737YsSym2 Let1627891737YsSym2KindInferenceLet1627891737YsSym3 Let1627891737YsSym3KindInferenceLet1627891737YsSym4 Let1627891737YsSym4KindInferenceLet1627891737YsSym5Let1627891709XsLet1627891709XsSym0 Let1627891709XsSym0KindInferenceLet1627891709XsSym1 Let1627891709XsSym1KindInferenceLet1627891709XsSym2 Let1627891709XsSym2KindInferenceLet1627891709XsSym3 Let1627891709XsSym3KindInferenceLet1627891709XsSym4 Let1627891709XsSym4KindInferenceLet1627891709XsSym5Let1627891698XsLet1627891698XsSym0 Let1627891698XsSym0KindInferenceLet1627891698XsSym1Lambda_1627891549Sym0"Lambda_1627891549Sym0KindInferenceLambda_1627891549Sym1"Lambda_1627891549Sym1KindInferenceLambda_1627891549Sym2"Lambda_1627891549Sym2KindInferenceLambda_1627891549Sym3"Lambda_1627891549Sym3KindInferenceLambda_1627891549Sym4Let1627890860Nub'Let1627890860Nub'Sym0"Let1627890860Nub'Sym0KindInferenceLet1627890860Nub'Sym1"Let1627890860Nub'Sym1KindInferenceLet1627890860Nub'Sym2"Let1627890860Nub'Sym2KindInferenceLet1627890860Nub'Sym3Let1627890787NubBy'Let1627890787NubBy'Sym0$Let1627890787NubBy'Sym0KindInferenceLet1627890787NubBy'Sym1$Let1627890787NubBy'Sym1KindInferenceLet1627890787NubBy'Sym2$Let1627890787NubBy'Sym2KindInferenceLet1627890787NubBy'Sym3$Let1627890787NubBy'Sym3KindInferenceLet1627890787NubBy'Sym4"TFCo:R:Applyk[]GenericLengthSym0l0