*                   ! " # $ % & ' ( ) * + , - . / 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<CINU,Generate a new UniqueC-./01234,56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnA-./01234,56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklA-./01234,56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn(C) 2015 Richard EisenbergBSD-style (see LICENSE)$Richard Eisenberg (eir@cis.upenn.edu experimental non-portableNoneooo (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 pD) 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 qX. 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 !"#$%&'(rs)*+,-./012345tu6789:;<=>?@ABCDEFGHThe original datatypeFunction expecting a singletonIJKLMvwxyz{|}~< !"#$%&'()*+,-./012345tu6789:;<=>?@ABCDEFGHIJKLM:423./015-)*+,6GHKLIJ('&%$#"! 789:;<=>?@ABCDEFM= !"#$%&'(rs)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMvwtuxyz{|}~ (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 SPQRNOPQRSNoneaaa(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[\]^_()*+,-./0123456789TUVWXYZ[\]^_()*+,-./0123456789TUVWXYZ[\]^_()*+,-./0123456789"None:;<:;<:;<#None=>?@AB=>?@AB=>?@AB$None@FCDCDCD%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&EFGH`abcdefghIijklmnJKLMNOPQRSTUVWXYZthe promoted scrutinee[&EFGH`abcdefghIijklmnJKLMNOPQRSTUVWXYZ[#EFGH`abcdefghIijklmnJKLMNOPQRSTUVWXYZ[&None!"'(345>IKLNopqrstuvwxy\z]{^|_}`~abcdefghijklmnopqrstuvwxyz{|}~opqrstuvwxy\z]{^|_}`~abcdefghijklmnopqrstuvwxyz{|}~Nopqrstuvwxy\z]{^|_}`~abcdefghijklmnopqrstuvwxyz{}~|-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(+>KLNConditional over singletons# 4uvw4uvw (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:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx24rst}~/4tsr      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx)(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 yz{|}~4{4 yz|}~{(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(>KLNh      !"#$%&'()*+,-./0123456789:<      !"#$%&'()*+,-./0123456789:< 8 7 6 532 9:140"#$%&'()*+, !-./L      !"#$%&'()*+,-./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 4tu}~;<=>?@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  !"#$%&'()*+,-./012345tu6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnprstvwyz{|}~|;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{|}~!4opqrstuvwxyz{|}~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{|}~|A4oxpyz{|}~     -(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 !"'(>ILNP !"#$%&'()*+,-./0123456789:;<=>?@ABCD04.4; !"#$%&'()*+,-./0123456789:;<=>?@ABCD.(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>KLNdEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%%EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/((C) 2014 Jan Stolarek, Richard EisenbergBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone !"'(>L-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(4>IKLN       !"#$%&'()*+,-./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./ g01 h23 i4 j56 k7 l89 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 { | } ~  > ?@ABCD EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   4   678      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4 6FB 7 8  ~ } | {zDDEC xywvutGAs@HAG?I9O:N=K>J;MrpoqmlBF7Q8PCEH@kij h!g"f#e$d%c&b'a(`)_*^n,\+]-[5S3U1WI?0X/Y.Z6R<L2V4TJ>MNOPQRSTXY12]^bcd_`aKLefghlmnoz{|ijk}~-./0rspq345!"#$%&  UVWZ[\'()    *+,6789:;wxytuv<=       !"#$%&'()*+,-./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./ g01 h23 i4 j56 k7 l89 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 { | } ~                     > ?@ABCD EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  +] (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneL  !"#$%&'()*+,-./012345tu6789:;<=>?@ABCDEFGHIJKLMopqrstuvwxyz{|}~|}~      !"#$%&')*+-./0123456789:;ACGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklopqrst     !"#$%&MNOPQRSTXY]^z{|}~bcdefglmvwxyz{|}~,4uqox;AC 532 9:140 7 6 8  | {z ~ }xywvml!g"f#e$d%c&bot wvpqrspyz{|}~"#$%&')*+ !-./]^MNOPQRSTXYz{|}~(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(>IKLNV                                                                        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<= F       DE G@A?9:=>;B78CH !"#$%&'()*,+-513I0/.<624JMNOPQRSTXY]^bcd_`aefghlmnoz{|ijk}~Z[\wxytuv12-./0345KL!"#$%&  UVWrspq'()    *+,6789:;<=\                                                              0(C) 2014 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneOPQRSTUVWXYZ[\]^_`abcdefghijkOPQRSTUVhefgbcd_`a]^[\YZWXijk1(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNoneL prstvwyz{|}~      !"#$%&')*+-./;ADEOPQRSTUVWXYZ[\]^_`abcdefghijkopqrs     !"#$%&89:=>?@ABDEFGHMNOPQRSTXY]^tuvwxyz{|}~     !"#$%&'()-./0123456784o;A    8FH    DE  G@A?9:=>B!"#$%& wvpqrspyz{|}~DE"#$%&')*+ !-./]^MNOPQRSTXYz{|}~wxytuv12-./0345!"#$%&  '()   6782(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneLP (TUVWXYZ[\]^_prstvwyz{|}~;APUVWTX_YZ[\]^( ;Avwtsrpyz{|}~ 34534678934: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{|}~      !"#$%%&'()*+,-./0/.11223456789:;<=>?@@ABCDEEFGHIJKKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~73              7      !"#$%&'()**++,-./012%3456789:;<=>?@ABCDEFGH I7J 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%m%w%x%y%z%{%|%}%~%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&                        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~***********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_DKkFBDyyZJDCf0mDnt8AQ8Data.Singletons.TypeLitsData.Singletons.THData.Singletons.Prelude.BoolData.Singletons.Prelude.OrdData.Singletons.Prelude.EitherData.Singletons.Prelude.MaybeData.Singletons.Prelude.ListData.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_maybe_any_ 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 UntilSym3Maybe_ 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 ToEnumSym1PredSym0PredSym1SuccSym0SuccSym1Any_Any_Sym0Any_Sym1Any_Sym2sAny_ TransposeHeadLastTailInit DropWhileEndNull IsSuffixOfReverse Intercalate Intersperse Subsequences PermutationsFoldl1'Foldl'MinimumMaximum MinimumBy MaximumByFoldl1Foldr1Concat ConcatMapAndOrAllScanl1ScanlScanrScanr1 MapAccumL MapAccumRUnfoldrInits IsInfixOfTails IsPrefixOfNubElemNotElem ElemIndex FindIndex ElemIndices FindIndicesZipZip3ZipWithZipWith3UnzipUnzip3Unzip4Unzip5Unzip6Unzip7:\\DeleteUnionUnionByDeleteFirstsByDeleteBySortSortByInsertInsertBy Intersect IntersectByFindFilter TakeWhile DropWhileGroupGroupBySpanBreakSplitAtTakeDropLookup PartitionSumProductLength Replicate:!!NubBy GenericLength TransposeSym0 TransposeSym1HeadSym0HeadSym1LastSym0LastSym1TailSym0TailSym1InitSym0InitSym1DropWhileEndSym0DropWhileEndSym1DropWhileEndSym2NullSym0NullSym1IsSuffixOfSym0IsSuffixOfSym1IsSuffixOfSym2 ReverseSym0 ReverseSym1IntercalateSym0IntercalateSym1IntercalateSym2IntersperseSym0IntersperseSym1IntersperseSym2SubsequencesSym0SubsequencesSym1PermutationsSym0PermutationsSym1 Foldl1'Sym0 Foldl1'Sym1 Foldl1'Sym2 Foldl'Sym0 Foldl'Sym1 Foldl'Sym2 Foldl'Sym3 MinimumSym0 MinimumSym1 MaximumSym0 MaximumSym1 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 TailsSym1IsPrefixOfSym0IsPrefixOfSym1IsPrefixOfSym2NubSym0NubSym1ElemSym0ElemSym1ElemSym2 NotElemSym0 NotElemSym1 NotElemSym2 ElemIndexSym0 ElemIndexSym1 ElemIndexSym2 FindIndexSym0 FindIndexSym1 FindIndexSym2ElemIndicesSym0ElemIndicesSym1ElemIndicesSym2FindIndicesSym0FindIndicesSym1FindIndicesSym2ZipSym0ZipSym1ZipSym2Zip3Sym0Zip3Sym1Zip3Sym2Zip3Sym3 ZipWithSym0 ZipWithSym1 ZipWithSym2 ZipWithSym3 ZipWith3Sym0 ZipWith3Sym1 ZipWith3Sym2 ZipWith3Sym3 ZipWith3Sym4 UnzipSym0 UnzipSym1 Unzip3Sym0 Unzip3Sym1 Unzip4Sym0 Unzip4Sym1 Unzip5Sym0 Unzip5Sym1 Unzip6Sym0 Unzip6Sym1 Unzip7Sym0 Unzip7Sym1:\\$:\\$$:\\$$$ DeleteSym0 DeleteSym1 DeleteSym2 UnionSym0 UnionSym1 UnionSym2 UnionBySym0 UnionBySym1 UnionBySym2 UnionBySym3DeleteFirstsBySym0DeleteFirstsBySym1DeleteFirstsBySym2DeleteFirstsBySym3 DeleteBySym0 DeleteBySym1 DeleteBySym2 DeleteBySym3SortSym0SortSym1 SortBySym0 SortBySym1 SortBySym2 InsertSym0 InsertSym1 InsertSym2 InsertBySym0 InsertBySym1 InsertBySym2 InsertBySym3 IntersectSym0 IntersectSym1 IntersectSym2IntersectBySym0IntersectBySym1IntersectBySym2IntersectBySym3FindSym0FindSym1FindSym2 FilterSym0 FilterSym1 FilterSym2 TakeWhileSym0 TakeWhileSym1 TakeWhileSym2 DropWhileSym0 DropWhileSym1 DropWhileSym2 GroupSym0 GroupSym1 GroupBySym0 GroupBySym1 GroupBySym2SpanSym0SpanSym1SpanSym2 BreakSym0 BreakSym1 BreakSym2 SplitAtSym0 SplitAtSym1 SplitAtSym2TakeSym0TakeSym1TakeSym2DropSym0DropSym1DropSym2 LookupSym0 LookupSym1 LookupSym2 PartitionSym0 PartitionSym1 PartitionSym2SumSym0SumSym1 ProductSym0 ProductSym1 LengthSym0 LengthSym1 ReplicateSym0 ReplicateSym1 ReplicateSym2:!!$:!!$$:!!$$$ NubBySym0 NubBySym1 NubBySym2GenericLengthSym0GenericLengthSym1sGenericLengthsNubBy%:!! sReplicatesLengthsProductsSum sPartitionsLookupsDropsTakesSplitAtsBreaksSpansGroupBysGroup sDropWhile sTakeWhilesFiltersFind sIntersectBy sIntersect sInsertBysInsertsSortBysSort sDeleteBysDeleteFirstsBysUnionBysUnionsDelete%:\\sUnzip7sUnzip6sUnzip5sUnzip4sUnzip3sUnzip sZipWith3sZipWithsZip3sZip sFindIndices sElemIndices sFindIndex sElemIndexsNotElemsElemsNub sIsPrefixOfsTails sIsInfixOfsInitssUnfoldr sMapAccumR sMapAccumLsScanr1sScanrsScanlsScanl1sAllsOrsAnd sConcatMapsConcatsFoldr1sFoldl1 sMaximumBy sMinimumBysMaximumsMinimumsFoldl'sFoldl1' sPermutations sSubsequences sIntersperse sIntercalatesReverse sIsSuffixOfsNull sDropWhileEndsInitsTailsLastsHead sTranspose StripPrefixZip4Zip5Zip6Zip7ZipWith4ZipWith5ZipWith6ZipWith7 GenericTake GenericDropGenericSplitAt GenericIndexGenericReplicateStripPrefixSym0StripPrefixSym1StripPrefixSym2Zip4Sym0Zip4Sym1Zip4Sym2Zip4Sym3Zip4Sym4Zip5Sym0Zip5Sym1Zip5Sym2Zip5Sym3Zip5Sym4Zip5Sym5Zip6Sym0Zip6Sym1Zip6Sym2Zip6Sym3Zip6Sym4Zip6Sym5Zip6Sym6Zip7Sym0Zip7Sym1Zip7Sym2Zip7Sym3Zip7Sym4Zip7Sym5Zip7Sym6Zip7Sym7 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 ZipWith7Sym8GenericTakeSym0GenericTakeSym1GenericTakeSym2GenericDropSym0GenericDropSym1GenericDropSym2GenericSplitAtSym0GenericSplitAtSym1GenericSplitAtSym2GenericIndexSym0GenericIndexSym1GenericIndexSym2GenericReplicateSym0GenericReplicateSym1GenericReplicateSym2 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_1627668911Case_1627668954Maybe_Sym0KindInferenceMaybe_Sym1KindInferenceMaybe_Sym2KindInferenceTFCo:R:Apply(->)kMaybe_Sym0l0IsJustSym0KindInferenceIsNothingSym0KindInferenceFromJustSym0KindInferenceFromMaybeSym0KindInferenceFromMaybeSym1KindInferenceMaybeToListSym0KindInferenceListToMaybeSym0KindInferenceCatMaybesSym0KindInferenceMapMaybeSym0KindInferenceMapMaybeSym1KindInference!Let1627668946Scrutinee_1627668866%Let1627668946Scrutinee_1627668866Sym02Let1627668946Scrutinee_1627668866Sym0KindInference%Let1627668946Scrutinee_1627668866Sym12Let1627668946Scrutinee_1627668866Sym1KindInference%Let1627668946Scrutinee_1627668866Sym2!Let1627668898Scrutinee_1627668868%Let1627668898Scrutinee_1627668868Sym02Let1627668898Scrutinee_1627668868Sym0KindInference%Let1627668898Scrutinee_1627668868Sym12Let1627668898Scrutinee_1627668868Sym1KindInference%Let1627668898Scrutinee_1627668868Sym22Let1627668898Scrutinee_1627668868Sym2KindInference%Let1627668898Scrutinee_1627668868Sym3Let1627668885RsLet1627668885RsSym0 Let1627668885RsSym0KindInferenceLet1627668885RsSym1 Let1627668885RsSym1KindInferenceLet1627668885RsSym2 Let1627668885RsSym2KindInferenceLet1627668885RsSym3!TFCo:R:ApplyBoolMaybeIsJustSym0l0MinBound_1627677181MaxBound_1627677183MinBound_1627677193MaxBound_1627677195MinBound_1627677199MaxBound_1627677201MinBound_1627677205MaxBound_1627677207MinBound_1627677211MaxBound_1627677213MinBound_1627677217MaxBound_1627677219MinBound_1627677223MaxBound_1627677225MinBound_1627677229MaxBound_1627677231MinBound_1627677235MaxBound_1627677237Case_1627682093Case_1627682098Case_1627682134Case_1627682248Case_1627682251Case_1627682275Case_1627682280Case_1627682316Case_1627682430Case_1627682433Case_1627682457Case_1627682462Case_1627682477Case_1627682535Case_1627682538Succ_1627682591Pred_1627682604EnumFromTo_1627682622EnumFromThenTo_1627682652Succ_1627682672Pred_1627682683ToEnum_1627682694FromEnum_1627682705EnumFromTo_1627682727EnumFromThenTo_1627682763Case_1627706689Case_1627706691ToEnum_1627706696FromEnum_1627706706Case_1627706725Case_1627706727Case_1627706729ToEnum_1627706735FromEnum_1627706745Case_1627706767ToEnum_1627706771FromEnum_1627706781MaxBound_1627677237Sym0MinBound_1627677235Sym0MaxBound_1627677231Sym0MinBound_1627677229Sym0MaxBound_1627677225Sym0MinBound_1627677223Sym0MaxBound_1627677219Sym0MinBound_1627677217Sym0MaxBound_1627677213Sym0MinBound_1627677211Sym0MaxBound_1627677207Sym0MinBound_1627677205Sym0MaxBound_1627677201Sym0MinBound_1627677199Sym0MaxBound_1627677195Sym0MinBound_1627677193Sym0MaxBound_1627677183Sym0MinBound_1627677181Sym0TFCo:R:MinBound()EnumFromThenTo_1627682763Sym0*EnumFromThenTo_1627682763Sym0KindInferenceEnumFromThenTo_1627682763Sym1*EnumFromThenTo_1627682763Sym1KindInferenceEnumFromThenTo_1627682763Sym2*EnumFromThenTo_1627682763Sym2KindInferenceEnumFromThenTo_1627682763Sym3EnumFromTo_1627682727Sym0&EnumFromTo_1627682727Sym0KindInferenceEnumFromTo_1627682727Sym1&EnumFromTo_1627682727Sym1KindInferenceEnumFromTo_1627682727Sym2FromEnum_1627682705Sym0$FromEnum_1627682705Sym0KindInferenceFromEnum_1627682705Sym1ToEnum_1627682694Sym0"ToEnum_1627682694Sym0KindInferenceToEnum_1627682694Sym1Pred_1627682683Sym0 Pred_1627682683Sym0KindInferencePred_1627682683Sym1Succ_1627682672Sym0 Succ_1627682672Sym0KindInferenceSucc_1627682672Sym1EnumFromThenTo_1627682652Sym0*EnumFromThenTo_1627682652Sym0KindInferenceEnumFromThenTo_1627682652Sym1*EnumFromThenTo_1627682652Sym1KindInferenceEnumFromThenTo_1627682652Sym2*EnumFromThenTo_1627682652Sym2KindInferenceEnumFromThenTo_1627682652Sym3EnumFromTo_1627682622Sym0&EnumFromTo_1627682622Sym0KindInferenceEnumFromTo_1627682622Sym1&EnumFromTo_1627682622Sym1KindInferenceEnumFromTo_1627682622Sym2Pred_1627682604Sym0 Pred_1627682604Sym0KindInferencePred_1627682604Sym1Succ_1627682591Sym0 Succ_1627682591Sym0KindInferenceSucc_1627682591Sym1EnumFromThenToSym0KindInferenceEnumFromThenToSym1KindInferenceEnumFromThenToSym2KindInferenceEnumFromToSym0KindInferenceEnumFromToSym1KindInferenceFromEnumSym0KindInferenceToEnumSym0KindInferencePredSym0KindInferenceSuccSym0KindInferenceEftNatEfdtNat EfdtNatUp EfdtNatDn EftNatSym0EftNatSym0KindInference EftNatSym1EftNatSym1KindInference EftNatSym2 EfdtNatSym0EfdtNatSym0KindInference EfdtNatSym1EfdtNatSym1KindInference EfdtNatSym2EfdtNatSym2KindInference EfdtNatSym3 EfdtNatUpSym0EfdtNatUpSym0KindInference EfdtNatUpSym1EfdtNatUpSym1KindInference EfdtNatUpSym2EfdtNatUpSym2KindInference EfdtNatUpSym3 EfdtNatDnSym0EfdtNatDnSym0KindInference EfdtNatDnSym1EfdtNatDnSym1KindInference EfdtNatDnSym2EfdtNatDnSym2KindInference EfdtNatDnSym3Let1627682481GoLet1627682481GoSym0 Let1627682481GoSym0KindInferenceLet1627682481GoSym1 Let1627682481GoSym1KindInferenceLet1627682481GoSym2 Let1627682481GoSym2KindInferenceLet1627682481GoSym3 Let1627682481GoSym3KindInferenceLet1627682481GoSym4 Let1627682481GoSym4KindInferenceLet1627682481GoSym5!Let1627682509Scrutinee_1627682047%Let1627682509Scrutinee_1627682047Sym02Let1627682509Scrutinee_1627682047Sym0KindInference%Let1627682509Scrutinee_1627682047Sym12Let1627682509Scrutinee_1627682047Sym1KindInference%Let1627682509Scrutinee_1627682047Sym22Let1627682509Scrutinee_1627682047Sym2KindInference%Let1627682509Scrutinee_1627682047Sym32Let1627682509Scrutinee_1627682047Sym3KindInference%Let1627682509Scrutinee_1627682047Sym42Let1627682509Scrutinee_1627682047Sym4KindInference%Let1627682509Scrutinee_1627682047Sym5Let1627682319Go_upLet1627682319Y'Let1627682319DeltaLet1627682319Go_upSym0#Let1627682319Go_upSym0KindInferenceLet1627682319Go_upSym1#Let1627682319Go_upSym1KindInferenceLet1627682319Go_upSym2#Let1627682319Go_upSym2KindInferenceLet1627682319Go_upSym3#Let1627682319Go_upSym3KindInferenceLet1627682319Go_upSym4#Let1627682319Go_upSym4KindInferenceLet1627682319Go_upSym5#Let1627682319Go_upSym5KindInferenceLet1627682319Go_upSym6#Let1627682319Go_upSym6KindInferenceLet1627682319Go_upSym7Let1627682319Y'Sym0 Let1627682319Y'Sym0KindInferenceLet1627682319Y'Sym1 Let1627682319Y'Sym1KindInferenceLet1627682319Y'Sym2 Let1627682319Y'Sym2KindInferenceLet1627682319Y'Sym3 Let1627682319Y'Sym3KindInferenceLet1627682319Y'Sym4 Let1627682319Y'Sym4KindInferenceLet1627682319Y'Sym5 Let1627682319Y'Sym5KindInferenceLet1627682319Y'Sym6Let1627682319DeltaSym0#Let1627682319DeltaSym0KindInferenceLet1627682319DeltaSym1#Let1627682319DeltaSym1KindInferenceLet1627682319DeltaSym2#Let1627682319DeltaSym2KindInferenceLet1627682319DeltaSym3#Let1627682319DeltaSym3KindInferenceLet1627682319DeltaSym4#Let1627682319DeltaSym4KindInferenceLet1627682319DeltaSym5#Let1627682319DeltaSym5KindInferenceLet1627682319DeltaSym6!Let1627682282Scrutinee_1627682061%Let1627682282Scrutinee_1627682061Sym02Let1627682282Scrutinee_1627682061Sym0KindInference%Let1627682282Scrutinee_1627682061Sym12Let1627682282Scrutinee_1627682061Sym1KindInference%Let1627682282Scrutinee_1627682061Sym22Let1627682282Scrutinee_1627682061Sym2KindInference%Let1627682282Scrutinee_1627682061Sym32Let1627682282Scrutinee_1627682061Sym3KindInference%Let1627682282Scrutinee_1627682061Sym42Let1627682282Scrutinee_1627682061Sym4KindInference%Let1627682282Scrutinee_1627682061Sym52Let1627682282Scrutinee_1627682061Sym5KindInference%Let1627682282Scrutinee_1627682061Sym6Let1627682137Go_dnLet1627682137Y'Let1627682137DeltaLet1627682137Go_dnSym0#Let1627682137Go_dnSym0KindInferenceLet1627682137Go_dnSym1#Let1627682137Go_dnSym1KindInferenceLet1627682137Go_dnSym2#Let1627682137Go_dnSym2KindInferenceLet1627682137Go_dnSym3#Let1627682137Go_dnSym3KindInferenceLet1627682137Go_dnSym4#Let1627682137Go_dnSym4KindInferenceLet1627682137Go_dnSym5#Let1627682137Go_dnSym5KindInferenceLet1627682137Go_dnSym6#Let1627682137Go_dnSym6KindInferenceLet1627682137Go_dnSym7Let1627682137Y'Sym0 Let1627682137Y'Sym0KindInferenceLet1627682137Y'Sym1 Let1627682137Y'Sym1KindInferenceLet1627682137Y'Sym2 Let1627682137Y'Sym2KindInferenceLet1627682137Y'Sym3 Let1627682137Y'Sym3KindInferenceLet1627682137Y'Sym4 Let1627682137Y'Sym4KindInferenceLet1627682137Y'Sym5 Let1627682137Y'Sym5KindInferenceLet1627682137Y'Sym6Let1627682137DeltaSym0#Let1627682137DeltaSym0KindInferenceLet1627682137DeltaSym1#Let1627682137DeltaSym1KindInferenceLet1627682137DeltaSym2#Let1627682137DeltaSym2KindInferenceLet1627682137DeltaSym3#Let1627682137DeltaSym3KindInferenceLet1627682137DeltaSym4#Let1627682137DeltaSym4KindInferenceLet1627682137DeltaSym5#Let1627682137DeltaSym5KindInferenceLet1627682137DeltaSym6!Let1627682100Scrutinee_1627682071%Let1627682100Scrutinee_1627682071Sym02Let1627682100Scrutinee_1627682071Sym0KindInference%Let1627682100Scrutinee_1627682071Sym12Let1627682100Scrutinee_1627682071Sym1KindInference%Let1627682100Scrutinee_1627682071Sym22Let1627682100Scrutinee_1627682071Sym2KindInference%Let1627682100Scrutinee_1627682071Sym32Let1627682100Scrutinee_1627682071Sym3KindInference%Let1627682100Scrutinee_1627682071Sym42Let1627682100Scrutinee_1627682071Sym4KindInference%Let1627682100Scrutinee_1627682071Sym52Let1627682100Scrutinee_1627682071Sym5KindInference%Let1627682100Scrutinee_1627682071Sym6 sEfdtNatDn sEfdtNatUpsEfdtNatsEftNatTFCo:R:SuccNata0FromEnum_1627706781Sym0$FromEnum_1627706781Sym0KindInferenceFromEnum_1627706781Sym1ToEnum_1627706771Sym0"ToEnum_1627706771Sym0KindInferenceToEnum_1627706771Sym1FromEnum_1627706745Sym0$FromEnum_1627706745Sym0KindInferenceFromEnum_1627706745Sym1ToEnum_1627706735Sym0"ToEnum_1627706735Sym0KindInferenceToEnum_1627706735Sym1FromEnum_1627706706Sym0$FromEnum_1627706706Sym0KindInferenceFromEnum_1627706706Sym1ToEnum_1627706696Sym0"ToEnum_1627706696Sym0KindInferenceToEnum_1627706696Sym1TFCo:R:ToEnum()a0Case_1627749348Case_1627749379Case_1627749401Case_1627749498Case_1627749545Case_1627749576Case_1627749607Case_1627749666Case_1627749675Case_1627749694Case_1627749771Case_1627749780Case_1627749799Case_1627749853Case_1627749872Case_1627749949Case_1627749980Case_1627750009Lambda_1627750117Case_1627750230Case_1627750308Lambda_1627750401Case_1627750405Lambda_1627750441Case_1627750445Lambda_1627750479Case_1627750483Lambda_1627750515Case_1627750519Lambda_1627750549Case_1627750553Lambda_1627750581Case_1627750585Lambda_1627750891Case_1627750894Case_1627751028Case_1627751065Case_1627751092Case_1627751116Case_1627751157Case_1627751182Case_1627751207Case_1627751232Case_1627751329Case_1627751354Case_1627751379Case_1627751404Case_1627751523Case_1627751570Case_1627751606Case_1627751811Case_1627751898Case_1627752115Case_1627752174Case_1627752327Lambda_1627752533Case_1627752556Any_Sym0KindInferenceAny_Sym1KindInferenceTFCo:R:Apply(->)(->)Any_Sym0l0NonEmptySubsequences PrependToAllSelectElem_byTransposeSym0KindInferenceHeadSym0KindInferenceLastSym0KindInferenceTailSym0KindInferenceInitSym0KindInferenceDropWhileEndSym0KindInferenceDropWhileEndSym1KindInferenceNullSym0KindInferenceIsSuffixOfSym0KindInferenceIsSuffixOfSym1KindInferenceReverseSym0KindInferenceIntercalateSym0KindInferenceIntercalateSym1KindInferenceIntersperseSym0KindInferenceIntersperseSym1KindInferenceSubsequencesSym0KindInferenceNonEmptySubsequencesSym0%NonEmptySubsequencesSym0KindInferenceNonEmptySubsequencesSym1PrependToAllSym0PrependToAllSym0KindInferencePrependToAllSym1PrependToAllSym1KindInferencePrependToAllSym2PermutationsSym0KindInferenceFoldl1'Sym0KindInferenceFoldl1'Sym1KindInferenceFoldl'Sym0KindInferenceFoldl'Sym1KindInferenceFoldl'Sym2KindInferenceMinimumSym0KindInferenceMaximumSym0KindInferenceMinimumBySym0KindInferenceMinimumBySym1KindInferenceMaximumBySym0KindInferenceMaximumBySym1KindInferenceFoldl1Sym0KindInferenceFoldl1Sym1KindInferenceFoldr1Sym0KindInferenceFoldr1Sym1KindInferenceConcatSym0KindInferenceConcatMapSym0KindInferenceConcatMapSym1KindInferenceAndSym0KindInferenceOrSym0KindInferenceAllSym0KindInferenceAllSym1KindInferenceScanl1Sym0KindInferenceScanl1Sym1KindInferenceScanlSym0KindInferenceScanlSym1KindInferenceScanlSym2KindInferenceScanrSym0KindInferenceScanrSym1KindInferenceScanrSym2KindInferenceScanr1Sym0KindInferenceScanr1Sym1KindInferenceMapAccumLSym0KindInferenceMapAccumLSym1KindInferenceMapAccumLSym2KindInferenceMapAccumRSym0KindInferenceMapAccumRSym1KindInferenceMapAccumRSym2KindInferenceUnfoldrSym0KindInferenceUnfoldrSym1KindInferenceInitsSym0KindInferenceIsInfixOfSym0KindInferenceIsInfixOfSym1KindInferenceTailsSym0KindInferenceIsPrefixOfSym0KindInferenceIsPrefixOfSym1KindInferenceNubSym0KindInferenceElemSym0KindInferenceElemSym1KindInferenceNotElemSym0KindInferenceNotElemSym1KindInferenceElemIndexSym0KindInferenceElemIndexSym1KindInferenceFindIndexSym0KindInferenceFindIndexSym1KindInferenceElemIndicesSym0KindInferenceElemIndicesSym1KindInferenceFindIndicesSym0KindInferenceFindIndicesSym1KindInferenceZipSym0KindInferenceZipSym1KindInferenceZip3Sym0KindInferenceZip3Sym1KindInferenceZip3Sym2KindInferenceZipWithSym0KindInferenceZipWithSym1KindInferenceZipWithSym2KindInferenceZipWith3Sym0KindInferenceZipWith3Sym1KindInferenceZipWith3Sym2KindInferenceZipWith3Sym3KindInferenceUnzipSym0KindInferenceUnzip3Sym0KindInferenceUnzip4Sym0KindInferenceUnzip5Sym0KindInferenceUnzip6Sym0KindInferenceUnzip7Sym0KindInference:\\$###:\\$$###DeleteSym0KindInferenceDeleteSym1KindInferenceUnionSym0KindInferenceUnionSym1KindInferenceUnionBySym0KindInferenceUnionBySym1KindInferenceUnionBySym2KindInferenceDeleteFirstsBySym0KindInferenceDeleteFirstsBySym1KindInferenceDeleteFirstsBySym2KindInferenceDeleteBySym0KindInferenceDeleteBySym1KindInferenceDeleteBySym2KindInferenceSortSym0KindInferenceSortBySym0KindInferenceSortBySym1KindInferenceInsertSym0KindInferenceInsertSym1KindInferenceInsertBySym0KindInferenceInsertBySym1KindInferenceInsertBySym2KindInferenceIntersectSym0KindInferenceIntersectSym1KindInferenceIntersectBySym0KindInferenceIntersectBySym1KindInferenceIntersectBySym2KindInferenceFindSym0KindInferenceFindSym1KindInferenceFilterSym0KindInferenceFilterSym1KindInferenceTakeWhileSym0KindInferenceTakeWhileSym1KindInferenceDropWhileSym0KindInferenceDropWhileSym1KindInferenceGroupSym0KindInferenceGroupBySym0KindInferenceGroupBySym1KindInferenceSpanSym0KindInferenceSpanSym1KindInferenceBreakSym0KindInferenceBreakSym1KindInferenceSplitAtSym0KindInferenceSplitAtSym1KindInferenceTakeSym0KindInferenceTakeSym1KindInferenceDropSym0KindInferenceDropSym1KindInferenceLookupSym0KindInferenceLookupSym1KindInferencePartitionSym0KindInferencePartitionSym1KindInference SelectSym0SelectSym0KindInference SelectSym1SelectSym1KindInference SelectSym2SelectSym2KindInference SelectSym3SumSym0KindInferenceProductSym0KindInferenceLengthSym0KindInferenceReplicateSym0KindInferenceReplicateSym1KindInference:!!$###:!!$$###NubBySym0KindInferenceNubBySym1KindInference Elem_bySym0Elem_bySym0KindInference Elem_bySym1Elem_bySym1KindInference Elem_bySym2Elem_bySym2KindInference Elem_bySym3GenericLengthSym0KindInferenceLet1627752585Init'Let1627752585Init'Sym0#Let1627752585Init'Sym0KindInferenceLet1627752585Init'Sym1#Let1627752585Init'Sym1KindInferenceLet1627752585Init'Sym2#Let1627752585Init'Sym2KindInferenceLet1627752585Init'Sym3#Let1627752585Init'Sym3KindInferenceLet1627752585Init'Sym4Lambda_1627752533Sym0"Lambda_1627752533Sym0KindInferenceLambda_1627752533Sym1"Lambda_1627752533Sym1KindInferenceLambda_1627752533Sym2"Lambda_1627752533Sym2KindInferenceLambda_1627752533Sym3"Lambda_1627752533Sym3KindInferenceLambda_1627752533Sym4!Let1627752537Scrutinee_1627749215%Let1627752537Scrutinee_1627749215Sym02Let1627752537Scrutinee_1627749215Sym0KindInference%Let1627752537Scrutinee_1627749215Sym12Let1627752537Scrutinee_1627749215Sym1KindInference%Let1627752537Scrutinee_1627749215Sym22Let1627752537Scrutinee_1627749215Sym2KindInference%Let1627752537Scrutinee_1627749215Sym32Let1627752537Scrutinee_1627749215Sym3KindInference%Let1627752537Scrutinee_1627749215Sym4Let1627752480RevLet1627752480RevSym0!Let1627752480RevSym0KindInferenceLet1627752480RevSym1!Let1627752480RevSym1KindInferenceLet1627752480RevSym2!Let1627752480RevSym2KindInferenceLet1627752480RevSym3Let1627752421FLet1627752421FSym0Let1627752421FSym0KindInferenceLet1627752421FSym1Let1627752421FSym1KindInferenceLet1627752421FSym2Let1627752421FSym2KindInferenceLet1627752421FSym3Let1627752421FSym3KindInferenceLet1627752421FSym4Let1627752033PermsLet1627752033PermsSym0#Let1627752033PermsSym0KindInferenceLet1627752033PermsSym1#Let1627752033PermsSym1KindInferenceLet1627752033PermsSym2#Let1627752033PermsSym2KindInferenceLet1627752033PermsSym3Let1627752054InterleaveLet1627752054Interleave'Let1627752054InterleaveSym0(Let1627752054InterleaveSym0KindInferenceLet1627752054InterleaveSym1(Let1627752054InterleaveSym1KindInferenceLet1627752054InterleaveSym2(Let1627752054InterleaveSym2KindInferenceLet1627752054InterleaveSym3(Let1627752054InterleaveSym3KindInferenceLet1627752054InterleaveSym4(Let1627752054InterleaveSym4KindInferenceLet1627752054InterleaveSym5(Let1627752054InterleaveSym5KindInferenceLet1627752054InterleaveSym6Let1627752054Interleave'Sym0)Let1627752054Interleave'Sym0KindInferenceLet1627752054Interleave'Sym1)Let1627752054Interleave'Sym1KindInferenceLet1627752054Interleave'Sym2)Let1627752054Interleave'Sym2KindInferenceLet1627752054Interleave'Sym3)Let1627752054Interleave'Sym3KindInferenceLet1627752054Interleave'Sym4)Let1627752054Interleave'Sym4KindInferenceLet1627752054Interleave'Sym5)Let1627752054Interleave'Sym5KindInferenceLet1627752054Interleave'Sym6)Let1627752054Interleave'Sym6KindInferenceLet1627752054Interleave'Sym7Let1627752322X_1627752323Let1627752322ZsLet1627752322X_1627752323Sym0*Let1627752322X_1627752323Sym0KindInferenceLet1627752322X_1627752323Sym1*Let1627752322X_1627752323Sym1KindInferenceLet1627752322X_1627752323Sym2*Let1627752322X_1627752323Sym2KindInferenceLet1627752322X_1627752323Sym3*Let1627752322X_1627752323Sym3KindInferenceLet1627752322X_1627752323Sym4*Let1627752322X_1627752323Sym4KindInferenceLet1627752322X_1627752323Sym5*Let1627752322X_1627752323Sym5KindInferenceLet1627752322X_1627752323Sym6Let1627752322ZsSym0 Let1627752322ZsSym0KindInferenceLet1627752322ZsSym1 Let1627752322ZsSym1KindInferenceLet1627752322ZsSym2 Let1627752322ZsSym2KindInferenceLet1627752322ZsSym3 Let1627752322ZsSym3KindInferenceLet1627752322ZsSym4 Let1627752322ZsSym4KindInferenceLet1627752322ZsSym5 Let1627752322ZsSym5KindInferenceLet1627752322ZsSym6Let1627752108X_1627752109Let1627752108ZsLet1627752108UsLet1627752108X_1627752109Sym0*Let1627752108X_1627752109Sym0KindInferenceLet1627752108X_1627752109Sym1*Let1627752108X_1627752109Sym1KindInferenceLet1627752108X_1627752109Sym2*Let1627752108X_1627752109Sym2KindInferenceLet1627752108X_1627752109Sym3*Let1627752108X_1627752109Sym3KindInferenceLet1627752108X_1627752109Sym4*Let1627752108X_1627752109Sym4KindInferenceLet1627752108X_1627752109Sym5*Let1627752108X_1627752109Sym5KindInferenceLet1627752108X_1627752109Sym6*Let1627752108X_1627752109Sym6KindInferenceLet1627752108X_1627752109Sym7*Let1627752108X_1627752109Sym7KindInferenceLet1627752108X_1627752109Sym8Let1627752108ZsSym0 Let1627752108ZsSym0KindInferenceLet1627752108ZsSym1 Let1627752108ZsSym1KindInferenceLet1627752108ZsSym2 Let1627752108ZsSym2KindInferenceLet1627752108ZsSym3 Let1627752108ZsSym3KindInferenceLet1627752108ZsSym4 Let1627752108ZsSym4KindInferenceLet1627752108ZsSym5 Let1627752108ZsSym5KindInferenceLet1627752108ZsSym6 Let1627752108ZsSym6KindInferenceLet1627752108ZsSym7 Let1627752108ZsSym7KindInferenceLet1627752108ZsSym8Let1627752108UsSym0 Let1627752108UsSym0KindInferenceLet1627752108UsSym1 Let1627752108UsSym1KindInferenceLet1627752108UsSym2 Let1627752108UsSym2KindInferenceLet1627752108UsSym3 Let1627752108UsSym3KindInferenceLet1627752108UsSym4 Let1627752108UsSym4KindInferenceLet1627752108UsSym5 Let1627752108UsSym5KindInferenceLet1627752108UsSym6 Let1627752108UsSym6KindInferenceLet1627752108UsSym7 Let1627752108UsSym7KindInferenceLet1627752108UsSym8Let1627751947LgoLet1627751947LgoSym0!Let1627751947LgoSym0KindInferenceLet1627751947LgoSym1!Let1627751947LgoSym1KindInferenceLet1627751947LgoSym2!Let1627751947LgoSym2KindInferenceLet1627751947LgoSym3!Let1627751947LgoSym3KindInferenceLet1627751947LgoSym4!Let1627751947LgoSym4KindInferenceLet1627751947LgoSym5Let1627751979Z'Let1627751979Z'Sym0 Let1627751979Z'Sym0KindInferenceLet1627751979Z'Sym1 Let1627751979Z'Sym1KindInferenceLet1627751979Z'Sym2 Let1627751979Z'Sym2KindInferenceLet1627751979Z'Sym3 Let1627751979Z'Sym3KindInferenceLet1627751979Z'Sym4 Let1627751979Z'Sym4KindInferenceLet1627751979Z'Sym5 Let1627751979Z'Sym5KindInferenceLet1627751979Z'Sym6Let1627751921XsLet1627751921XsSym0 Let1627751921XsSym0KindInferenceLet1627751921XsSym1 Let1627751921XsSym1KindInferenceLet1627751921XsSym2Let1627751907XsLet1627751907XsSym0 Let1627751907XsSym0KindInferenceLet1627751907XsSym1 Let1627751907XsSym1KindInferenceLet1627751907XsSym2Let1627751842MinByLet1627751842MinBySym0#Let1627751842MinBySym0KindInferenceLet1627751842MinBySym1#Let1627751842MinBySym1KindInferenceLet1627751842MinBySym2#Let1627751842MinBySym2KindInferenceLet1627751842MinBySym3#Let1627751842MinBySym3KindInferenceLet1627751842MinBySym4#Let1627751842MinBySym4KindInferenceLet1627751842MinBySym5!Let1627751872Scrutinee_1627749193%Let1627751872Scrutinee_1627749193Sym02Let1627751872Scrutinee_1627749193Sym0KindInference%Let1627751872Scrutinee_1627749193Sym12Let1627751872Scrutinee_1627749193Sym1KindInference%Let1627751872Scrutinee_1627749193Sym22Let1627751872Scrutinee_1627749193Sym2KindInference%Let1627751872Scrutinee_1627749193Sym32Let1627751872Scrutinee_1627749193Sym3KindInference%Let1627751872Scrutinee_1627749193Sym42Let1627751872Scrutinee_1627749193Sym4KindInference%Let1627751872Scrutinee_1627749193Sym5Let1627751829XsLet1627751829XsSym0 Let1627751829XsSym0KindInferenceLet1627751829XsSym1 Let1627751829XsSym1KindInferenceLet1627751829XsSym2 Let1627751829XsSym2KindInferenceLet1627751829XsSym3Let1627751755MaxByLet1627751755MaxBySym0#Let1627751755MaxBySym0KindInferenceLet1627751755MaxBySym1#Let1627751755MaxBySym1KindInferenceLet1627751755MaxBySym2#Let1627751755MaxBySym2KindInferenceLet1627751755MaxBySym3#Let1627751755MaxBySym3KindInferenceLet1627751755MaxBySym4#Let1627751755MaxBySym4KindInferenceLet1627751755MaxBySym5!Let1627751785Scrutinee_1627749187%Let1627751785Scrutinee_1627749187Sym02Let1627751785Scrutinee_1627749187Sym0KindInference%Let1627751785Scrutinee_1627749187Sym12Let1627751785Scrutinee_1627749187Sym1KindInference%Let1627751785Scrutinee_1627749187Sym22Let1627751785Scrutinee_1627749187Sym2KindInference%Let1627751785Scrutinee_1627749187Sym32Let1627751785Scrutinee_1627749187Sym3KindInference%Let1627751785Scrutinee_1627749187Sym42Let1627751785Scrutinee_1627749187Sym4KindInference%Let1627751785Scrutinee_1627749187Sym5Let1627751742XsLet1627751742XsSym0 Let1627751742XsSym0KindInferenceLet1627751742XsSym1 Let1627751742XsSym1KindInferenceLet1627751742XsSym2 Let1627751742XsSym2KindInferenceLet1627751742XsSym3Let1627751690XsLet1627751690XsSym0 Let1627751690XsSym0KindInferenceLet1627751690XsSym1 Let1627751690XsSym1KindInferenceLet1627751690XsSym2 Let1627751690XsSym2KindInferenceLet1627751690XsSym3 Let1627751690XsSym3KindInferenceLet1627751690XsSym4!Let1627751593Scrutinee_1627749143%Let1627751593Scrutinee_1627749143Sym02Let1627751593Scrutinee_1627749143Sym0KindInference%Let1627751593Scrutinee_1627749143Sym12Let1627751593Scrutinee_1627749143Sym1KindInference%Let1627751593Scrutinee_1627749143Sym22Let1627751593Scrutinee_1627749143Sym2KindInference%Let1627751593Scrutinee_1627749143Sym3!Let1627751551Scrutinee_1627749145%Let1627751551Scrutinee_1627749145Sym02Let1627751551Scrutinee_1627749145Sym0KindInference%Let1627751551Scrutinee_1627749145Sym12Let1627751551Scrutinee_1627749145Sym1KindInference%Let1627751551Scrutinee_1627749145Sym22Let1627751551Scrutinee_1627749145Sym2KindInference%Let1627751551Scrutinee_1627749145Sym32Let1627751551Scrutinee_1627749145Sym3KindInference%Let1627751551Scrutinee_1627749145Sym4!Let1627751504Scrutinee_1627749147%Let1627751504Scrutinee_1627749147Sym02Let1627751504Scrutinee_1627749147Sym0KindInference%Let1627751504Scrutinee_1627749147Sym12Let1627751504Scrutinee_1627749147Sym1KindInference%Let1627751504Scrutinee_1627749147Sym22Let1627751504Scrutinee_1627749147Sym2KindInference%Let1627751504Scrutinee_1627749147Sym32Let1627751504Scrutinee_1627749147Sym3KindInference%Let1627751504Scrutinee_1627749147Sym4Let1627751485XsLet1627751485XsSym0 Let1627751485XsSym0KindInferenceLet1627751485XsSym1 Let1627751485XsSym1KindInferenceLet1627751485XsSym2 Let1627751485XsSym2KindInferenceLet1627751485XsSym3 Let1627751485XsSym3KindInferenceLet1627751485XsSym4Let1627751316X_1627751323Let1627751316X_1627751317Let1627751316YsLet1627751316S''Let1627751316YLet1627751316S'Let1627751316X_1627751323Sym0*Let1627751316X_1627751323Sym0KindInferenceLet1627751316X_1627751323Sym1*Let1627751316X_1627751323Sym1KindInferenceLet1627751316X_1627751323Sym2*Let1627751316X_1627751323Sym2KindInferenceLet1627751316X_1627751323Sym3*Let1627751316X_1627751323Sym3KindInferenceLet1627751316X_1627751323Sym4Let1627751316X_1627751317Sym0*Let1627751316X_1627751317Sym0KindInferenceLet1627751316X_1627751317Sym1*Let1627751316X_1627751317Sym1KindInferenceLet1627751316X_1627751317Sym2*Let1627751316X_1627751317Sym2KindInferenceLet1627751316X_1627751317Sym3*Let1627751316X_1627751317Sym3KindInferenceLet1627751316X_1627751317Sym4Let1627751316YsSym0 Let1627751316YsSym0KindInferenceLet1627751316YsSym1 Let1627751316YsSym1KindInferenceLet1627751316YsSym2 Let1627751316YsSym2KindInferenceLet1627751316YsSym3 Let1627751316YsSym3KindInferenceLet1627751316YsSym4Let1627751316S''Sym0!Let1627751316S''Sym0KindInferenceLet1627751316S''Sym1!Let1627751316S''Sym1KindInferenceLet1627751316S''Sym2!Let1627751316S''Sym2KindInferenceLet1627751316S''Sym3!Let1627751316S''Sym3KindInferenceLet1627751316S''Sym4Let1627751316YSym0Let1627751316YSym0KindInferenceLet1627751316YSym1Let1627751316YSym1KindInferenceLet1627751316YSym2Let1627751316YSym2KindInferenceLet1627751316YSym3Let1627751316YSym3KindInferenceLet1627751316YSym4Let1627751316S'Sym0 Let1627751316S'Sym0KindInferenceLet1627751316S'Sym1 Let1627751316S'Sym1KindInferenceLet1627751316S'Sym2 Let1627751316S'Sym2KindInferenceLet1627751316S'Sym3 Let1627751316S'Sym3KindInferenceLet1627751316S'Sym4Let1627751144X_1627751151Let1627751144X_1627751145Let1627751144YLet1627751144S''Let1627751144YsLet1627751144S'Let1627751144X_1627751151Sym0*Let1627751144X_1627751151Sym0KindInferenceLet1627751144X_1627751151Sym1*Let1627751144X_1627751151Sym1KindInferenceLet1627751144X_1627751151Sym2*Let1627751144X_1627751151Sym2KindInferenceLet1627751144X_1627751151Sym3*Let1627751144X_1627751151Sym3KindInferenceLet1627751144X_1627751151Sym4Let1627751144X_1627751145Sym0*Let1627751144X_1627751145Sym0KindInferenceLet1627751144X_1627751145Sym1*Let1627751144X_1627751145Sym1KindInferenceLet1627751144X_1627751145Sym2*Let1627751144X_1627751145Sym2KindInferenceLet1627751144X_1627751145Sym3*Let1627751144X_1627751145Sym3KindInferenceLet1627751144X_1627751145Sym4Let1627751144YSym0Let1627751144YSym0KindInferenceLet1627751144YSym1Let1627751144YSym1KindInferenceLet1627751144YSym2Let1627751144YSym2KindInferenceLet1627751144YSym3Let1627751144YSym3KindInferenceLet1627751144YSym4Let1627751144S''Sym0!Let1627751144S''Sym0KindInferenceLet1627751144S''Sym1!Let1627751144S''Sym1KindInferenceLet1627751144S''Sym2!Let1627751144S''Sym2KindInferenceLet1627751144S''Sym3!Let1627751144S''Sym3KindInferenceLet1627751144S''Sym4Let1627751144YsSym0 Let1627751144YsSym0KindInferenceLet1627751144YsSym1 Let1627751144YsSym1KindInferenceLet1627751144YsSym2 Let1627751144YsSym2KindInferenceLet1627751144YsSym3 Let1627751144YsSym3KindInferenceLet1627751144YsSym4Let1627751144S'Sym0 Let1627751144S'Sym0KindInferenceLet1627751144S'Sym1 Let1627751144S'Sym1KindInferenceLet1627751144S'Sym2 Let1627751144S'Sym2KindInferenceLet1627751144S'Sym3 Let1627751144S'Sym3KindInferenceLet1627751144S'Sym4!Let1627751108Scrutinee_1627749153%Let1627751108Scrutinee_1627749153Sym02Let1627751108Scrutinee_1627749153Sym0KindInference%Let1627751108Scrutinee_1627749153Sym12Let1627751108Scrutinee_1627749153Sym1KindInference%Let1627751108Scrutinee_1627749153Sym2!Let1627751088Scrutinee_1627749155%Let1627751088Scrutinee_1627749155Sym02Let1627751088Scrutinee_1627749155Sym0KindInference%Let1627751088Scrutinee_1627749155Sym1!Let1627751061Scrutinee_1627749157%Let1627751061Scrutinee_1627749157Sym02Let1627751061Scrutinee_1627749157Sym0KindInference%Let1627751061Scrutinee_1627749157Sym1Let1627750988Nub'Let1627750988Nub'Sym0"Let1627750988Nub'Sym0KindInferenceLet1627750988Nub'Sym1"Let1627750988Nub'Sym1KindInferenceLet1627750988Nub'Sym2"Let1627750988Nub'Sym2KindInferenceLet1627750988Nub'Sym3!Let1627751009Scrutinee_1627749241%Let1627751009Scrutinee_1627749241Sym02Let1627751009Scrutinee_1627749241Sym0KindInference%Let1627751009Scrutinee_1627749241Sym12Let1627751009Scrutinee_1627749241Sym1KindInference%Let1627751009Scrutinee_1627749241Sym22Let1627751009Scrutinee_1627749241Sym2KindInference%Let1627751009Scrutinee_1627749241Sym32Let1627751009Scrutinee_1627749241Sym3KindInference%Let1627751009Scrutinee_1627749241Sym4Lambda_1627750891Sym0"Lambda_1627750891Sym0KindInferenceLambda_1627750891Sym1"Lambda_1627750891Sym1KindInferenceLambda_1627750891Sym2"Lambda_1627750891Sym2KindInferenceLambda_1627750891Sym3Let1627750862BuildListLet1627750862BuildListSym0'Let1627750862BuildListSym0KindInferenceLet1627750862BuildListSym1'Let1627750862BuildListSym1KindInferenceLet1627750862BuildListSym2'Let1627750862BuildListSym2KindInferenceLet1627750862BuildListSym3'Let1627750862BuildListSym3KindInferenceLet1627750862BuildListSym4Lambda_1627750581Sym0"Lambda_1627750581Sym0KindInferenceLambda_1627750581Sym1"Lambda_1627750581Sym1KindInferenceLambda_1627750581Sym2"Lambda_1627750581Sym2KindInferenceLambda_1627750581Sym3Lambda_1627750549Sym0"Lambda_1627750549Sym0KindInferenceLambda_1627750549Sym1"Lambda_1627750549Sym1KindInferenceLambda_1627750549Sym2"Lambda_1627750549Sym2KindInferenceLambda_1627750549Sym3Lambda_1627750515Sym0"Lambda_1627750515Sym0KindInferenceLambda_1627750515Sym1"Lambda_1627750515Sym1KindInferenceLambda_1627750515Sym2"Lambda_1627750515Sym2KindInferenceLambda_1627750515Sym3Lambda_1627750479Sym0"Lambda_1627750479Sym0KindInferenceLambda_1627750479Sym1"Lambda_1627750479Sym1KindInferenceLambda_1627750479Sym2"Lambda_1627750479Sym2KindInferenceLambda_1627750479Sym3Lambda_1627750441Sym0"Lambda_1627750441Sym0KindInferenceLambda_1627750441Sym1"Lambda_1627750441Sym1KindInferenceLambda_1627750441Sym2"Lambda_1627750441Sym2KindInferenceLambda_1627750441Sym3Lambda_1627750401Sym0"Lambda_1627750401Sym0KindInferenceLambda_1627750401Sym1"Lambda_1627750401Sym1KindInferenceLambda_1627750401Sym2"Lambda_1627750401Sym2KindInferenceLambda_1627750401Sym3!Let1627750289Scrutinee_1627749183%Let1627750289Scrutinee_1627749183Sym02Let1627750289Scrutinee_1627749183Sym0KindInference%Let1627750289Scrutinee_1627749183Sym12Let1627750289Scrutinee_1627749183Sym1KindInference%Let1627750289Scrutinee_1627749183Sym22Let1627750289Scrutinee_1627749183Sym2KindInference%Let1627750289Scrutinee_1627749183Sym32Let1627750289Scrutinee_1627749183Sym3KindInference%Let1627750289Scrutinee_1627749183Sym4!Let1627750211Scrutinee_1627749185%Let1627750211Scrutinee_1627749185Sym02Let1627750211Scrutinee_1627749185Sym0KindInference%Let1627750211Scrutinee_1627749185Sym12Let1627750211Scrutinee_1627749185Sym1KindInference%Let1627750211Scrutinee_1627749185Sym22Let1627750211Scrutinee_1627749185Sym2KindInference%Let1627750211Scrutinee_1627749185Sym32Let1627750211Scrutinee_1627749185Sym3KindInference%Let1627750211Scrutinee_1627749185Sym4Let1627750192YsLet1627750192YsSym0 Let1627750192YsSym0KindInferenceLet1627750192YsSym1 Let1627750192YsSym1KindInferenceLet1627750192YsSym2 Let1627750192YsSym2KindInferenceLet1627750192YsSym3 Let1627750192YsSym3KindInferenceLet1627750192YsSym4Lambda_1627750117Sym0"Lambda_1627750117Sym0KindInferenceLambda_1627750117Sym1"Lambda_1627750117Sym1KindInferenceLambda_1627750117Sym2"Lambda_1627750117Sym2KindInferenceLambda_1627750117Sym3"Lambda_1627750117Sym3KindInferenceLambda_1627750117Sym4"Lambda_1627750117Sym4KindInferenceLambda_1627750117Sym5"Lambda_1627750117Sym5KindInferenceLambda_1627750117Sym6Let1627750066YsLet1627750066XsLet1627750066YsSym0 Let1627750066YsSym0KindInferenceLet1627750066YsSym1 Let1627750066YsSym1KindInferenceLet1627750066YsSym2 Let1627750066YsSym2KindInferenceLet1627750066YsSym3 Let1627750066YsSym3KindInferenceLet1627750066YsSym4 Let1627750066YsSym4KindInferenceLet1627750066YsSym5Let1627750066XsSym0 Let1627750066XsSym0KindInferenceLet1627750066XsSym1 Let1627750066XsSym1KindInferenceLet1627750066XsSym2 Let1627750066XsSym2KindInferenceLet1627750066XsSym3 Let1627750066XsSym3KindInferenceLet1627750066XsSym4 Let1627750066XsSym4KindInferenceLet1627750066XsSym5!Let1627749996Scrutinee_1627749199%Let1627749996Scrutinee_1627749199Sym02Let1627749996Scrutinee_1627749199Sym0KindInference%Let1627749996Scrutinee_1627749199Sym12Let1627749996Scrutinee_1627749199Sym1KindInference%Let1627749996Scrutinee_1627749199Sym22Let1627749996Scrutinee_1627749199Sym2KindInference%Let1627749996Scrutinee_1627749199Sym3!Let1627749967Scrutinee_1627749211%Let1627749967Scrutinee_1627749211Sym02Let1627749967Scrutinee_1627749211Sym0KindInference%Let1627749967Scrutinee_1627749211Sym12Let1627749967Scrutinee_1627749211Sym1KindInference%Let1627749967Scrutinee_1627749211Sym22Let1627749967Scrutinee_1627749211Sym2KindInference%Let1627749967Scrutinee_1627749211Sym3!Let1627749936Scrutinee_1627749213%Let1627749936Scrutinee_1627749213Sym02Let1627749936Scrutinee_1627749213Sym0KindInference%Let1627749936Scrutinee_1627749213Sym12Let1627749936Scrutinee_1627749213Sym1KindInference%Let1627749936Scrutinee_1627749213Sym22Let1627749936Scrutinee_1627749213Sym2KindInference%Let1627749936Scrutinee_1627749213Sym3Let1627749923XsLet1627749923XsSym0 Let1627749923XsSym0KindInferenceLet1627749923XsSym1 Let1627749923XsSym1KindInferenceLet1627749923XsSym2 Let1627749923XsSym2KindInferenceLet1627749923XsSym3Let1627749846X_1627749847Let1627749846ZsLet1627749846YsLet1627749846X_1627749847Sym0*Let1627749846X_1627749847Sym0KindInferenceLet1627749846X_1627749847Sym1*Let1627749846X_1627749847Sym1KindInferenceLet1627749846X_1627749847Sym2*Let1627749846X_1627749847Sym2KindInferenceLet1627749846X_1627749847Sym3Let1627749846ZsSym0 Let1627749846ZsSym0KindInferenceLet1627749846ZsSym1 Let1627749846ZsSym1KindInferenceLet1627749846ZsSym2 Let1627749846ZsSym2KindInferenceLet1627749846ZsSym3Let1627749846YsSym0 Let1627749846YsSym0KindInferenceLet1627749846YsSym1 Let1627749846YsSym1KindInferenceLet1627749846YsSym2 Let1627749846YsSym2KindInferenceLet1627749846YsSym3Let1627749773X_1627749774Let1627749773ZsLet1627749773YsLet1627749773X_1627749774Sym0*Let1627749773X_1627749774Sym0KindInferenceLet1627749773X_1627749774Sym1*Let1627749773X_1627749774Sym1KindInferenceLet1627749773X_1627749774Sym2*Let1627749773X_1627749774Sym2KindInferenceLet1627749773X_1627749774Sym3Let1627749773ZsSym0 Let1627749773ZsSym0KindInferenceLet1627749773ZsSym1 Let1627749773ZsSym1KindInferenceLet1627749773ZsSym2 Let1627749773ZsSym2KindInferenceLet1627749773ZsSym3Let1627749773YsSym0 Let1627749773YsSym0KindInferenceLet1627749773YsSym1 Let1627749773YsSym1KindInferenceLet1627749773YsSym2 Let1627749773YsSym2KindInferenceLet1627749773YsSym3!Let1627749758Scrutinee_1627749217%Let1627749758Scrutinee_1627749217Sym02Let1627749758Scrutinee_1627749217Sym0KindInference%Let1627749758Scrutinee_1627749217Sym12Let1627749758Scrutinee_1627749217Sym1KindInference%Let1627749758Scrutinee_1627749217Sym22Let1627749758Scrutinee_1627749217Sym2KindInference%Let1627749758Scrutinee_1627749217Sym3Let1627749745XsLet1627749745XsSym0 Let1627749745XsSym0KindInferenceLet1627749745XsSym1 Let1627749745XsSym1KindInferenceLet1627749745XsSym2 Let1627749745XsSym2KindInferenceLet1627749745XsSym3Let1627749738XsLet1627749738XsSym0 Let1627749738XsSym0KindInferenceLet1627749738XsSym1Let1627749668X_1627749669Let1627749668ZsLet1627749668YsLet1627749668X_1627749669Sym0*Let1627749668X_1627749669Sym0KindInferenceLet1627749668X_1627749669Sym1*Let1627749668X_1627749669Sym1KindInferenceLet1627749668X_1627749669Sym2*Let1627749668X_1627749669Sym2KindInferenceLet1627749668X_1627749669Sym3Let1627749668ZsSym0 Let1627749668ZsSym0KindInferenceLet1627749668ZsSym1 Let1627749668ZsSym1KindInferenceLet1627749668ZsSym2 Let1627749668ZsSym2KindInferenceLet1627749668ZsSym3Let1627749668YsSym0 Let1627749668YsSym0KindInferenceLet1627749668YsSym1 Let1627749668YsSym1KindInferenceLet1627749668YsSym2 Let1627749668YsSym2KindInferenceLet1627749668YsSym3!Let1627749653Scrutinee_1627749219%Let1627749653Scrutinee_1627749219Sym02Let1627749653Scrutinee_1627749219Sym0KindInference%Let1627749653Scrutinee_1627749219Sym12Let1627749653Scrutinee_1627749219Sym1KindInference%Let1627749653Scrutinee_1627749219Sym22Let1627749653Scrutinee_1627749219Sym2KindInference%Let1627749653Scrutinee_1627749219Sym3Let1627749640XsLet1627749640XsSym0 Let1627749640XsSym0KindInferenceLet1627749640XsSym1 Let1627749640XsSym1KindInferenceLet1627749640XsSym2 Let1627749640XsSym2KindInferenceLet1627749640XsSym3Let1627749633XsLet1627749633XsSym0 Let1627749633XsSym0KindInferenceLet1627749633XsSym1!Let1627749594Scrutinee_1627749221%Let1627749594Scrutinee_1627749221Sym02Let1627749594Scrutinee_1627749221Sym0KindInference%Let1627749594Scrutinee_1627749221Sym12Let1627749594Scrutinee_1627749221Sym1KindInference%Let1627749594Scrutinee_1627749221Sym22Let1627749594Scrutinee_1627749221Sym2KindInference%Let1627749594Scrutinee_1627749221Sym3!Let1627749563Scrutinee_1627749223%Let1627749563Scrutinee_1627749223Sym02Let1627749563Scrutinee_1627749223Sym0KindInference%Let1627749563Scrutinee_1627749223Sym12Let1627749563Scrutinee_1627749223Sym1KindInference%Let1627749563Scrutinee_1627749223Sym22Let1627749563Scrutinee_1627749223Sym2KindInference%Let1627749563Scrutinee_1627749223Sym3!Let1627749526Scrutinee_1627749233%Let1627749526Scrutinee_1627749233Sym02Let1627749526Scrutinee_1627749233Sym0KindInference%Let1627749526Scrutinee_1627749233Sym12Let1627749526Scrutinee_1627749233Sym1KindInference%Let1627749526Scrutinee_1627749233Sym22Let1627749526Scrutinee_1627749233Sym2KindInference%Let1627749526Scrutinee_1627749233Sym32Let1627749526Scrutinee_1627749233Sym3KindInference%Let1627749526Scrutinee_1627749233Sym4!Let1627749479Scrutinee_1627749235%Let1627749479Scrutinee_1627749235Sym02Let1627749479Scrutinee_1627749235Sym0KindInference%Let1627749479Scrutinee_1627749235Sym12Let1627749479Scrutinee_1627749235Sym1KindInference%Let1627749479Scrutinee_1627749235Sym22Let1627749479Scrutinee_1627749235Sym2KindInference%Let1627749479Scrutinee_1627749235Sym32Let1627749479Scrutinee_1627749235Sym3KindInference%Let1627749479Scrutinee_1627749235Sym4Let1627749441Sum'Let1627749441Sum'Sym0"Let1627749441Sum'Sym0KindInferenceLet1627749441Sum'Sym1"Let1627749441Sum'Sym1KindInferenceLet1627749441Sum'Sym2"Let1627749441Sum'Sym2KindInferenceLet1627749441Sum'Sym3Let1627749417ProdLet1627749417ProdSym0"Let1627749417ProdSym0KindInferenceLet1627749417ProdSym1"Let1627749417ProdSym1KindInferenceLet1627749417ProdSym2"Let1627749417ProdSym2KindInferenceLet1627749417ProdSym3!Let1627749393Scrutinee_1627749237%Let1627749393Scrutinee_1627749237Sym02Let1627749393Scrutinee_1627749237Sym0KindInference%Let1627749393Scrutinee_1627749237Sym12Let1627749393Scrutinee_1627749237Sym1KindInference%Let1627749393Scrutinee_1627749237Sym2!Let1627749366Scrutinee_1627749239%Let1627749366Scrutinee_1627749239Sym02Let1627749366Scrutinee_1627749239Sym0KindInference%Let1627749366Scrutinee_1627749239Sym12Let1627749366Scrutinee_1627749239Sym1KindInference%Let1627749366Scrutinee_1627749239Sym22Let1627749366Scrutinee_1627749239Sym2KindInference%Let1627749366Scrutinee_1627749239Sym3Let1627749295NubBy'Let1627749295NubBy'Sym0$Let1627749295NubBy'Sym0KindInferenceLet1627749295NubBy'Sym1$Let1627749295NubBy'Sym1KindInferenceLet1627749295NubBy'Sym2$Let1627749295NubBy'Sym2KindInferenceLet1627749295NubBy'Sym3$Let1627749295NubBy'Sym3KindInferenceLet1627749295NubBy'Sym4!Let1627749322Scrutinee_1627749243%Let1627749322Scrutinee_1627749243Sym02Let1627749322Scrutinee_1627749243Sym0KindInference%Let1627749322Scrutinee_1627749243Sym12Let1627749322Scrutinee_1627749243Sym1KindInference%Let1627749322Scrutinee_1627749243Sym22Let1627749322Scrutinee_1627749243Sym2KindInference%Let1627749322Scrutinee_1627749243Sym32Let1627749322Scrutinee_1627749243Sym3KindInference%Let1627749322Scrutinee_1627749243Sym42Let1627749322Scrutinee_1627749243Sym4KindInference%Let1627749322Scrutinee_1627749243Sym5sElem_bysSelect sPrependToAllsNonEmptySubsequencesTFCo:R:Apply[][]TransposeSym0l0Case_1627972479Case_1627972485Case_1627972487StripPrefixSym0KindInferenceStripPrefixSym1KindInferenceZip4Sym0KindInferenceZip4Sym1KindInferenceZip4Sym2KindInferenceZip4Sym3KindInferenceZip5Sym0KindInferenceZip5Sym1KindInferenceZip5Sym2KindInferenceZip5Sym3KindInferenceZip5Sym4KindInferenceZip6Sym0KindInferenceZip6Sym1KindInferenceZip6Sym2KindInferenceZip6Sym3KindInferenceZip6Sym4KindInferenceZip6Sym5KindInferenceZip7Sym0KindInferenceZip7Sym1KindInferenceZip7Sym2KindInferenceZip7Sym3KindInferenceZip7Sym4KindInferenceZip7Sym5KindInferenceZip7Sym6KindInferenceZipWith4Sym0KindInferenceZipWith4Sym1KindInferenceZipWith4Sym2KindInferenceZipWith4Sym3KindInferenceZipWith4Sym4KindInferenceZipWith5Sym0KindInferenceZipWith5Sym1KindInferenceZipWith5Sym2KindInferenceZipWith5Sym3KindInferenceZipWith5Sym4KindInferenceZipWith5Sym5KindInferenceZipWith6Sym0KindInferenceZipWith6Sym1KindInferenceZipWith6Sym2KindInferenceZipWith6Sym3KindInferenceZipWith6Sym4KindInferenceZipWith6Sym5KindInferenceZipWith6Sym6KindInferenceZipWith7Sym0KindInferenceZipWith7Sym1KindInferenceZipWith7Sym2KindInferenceZipWith7Sym3KindInferenceZipWith7Sym4KindInferenceZipWith7Sym5KindInferenceZipWith7Sym6KindInferenceZipWith7Sym7KindInferenceGenericTakeSym0KindInferenceGenericTakeSym1KindInferenceGenericDropSym0KindInferenceGenericDropSym1KindInferenceGenericSplitAtSym0KindInferenceGenericSplitAtSym1KindInferenceGenericIndexSym0KindInferenceGenericIndexSym1KindInference!GenericReplicateSym0KindInference!GenericReplicateSym1KindInference#TFCo:R:Apply(->)[]StripPrefixSym0l0