3|               ! " # $ % & ' ( ) * + , - . / 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 VWXYZ[\]^_` a b c d efghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{- None'=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. (C) 2008-2013 Edward KmettBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portable Trustworthy*+0"A logically uninhabited data type.Since b values logically don't exist, this witnesses the logical reasoning tool of "ex falso quodlibet".If  is uninhabited then any | that holds only values of type  is holding no values.If  is uninhabited then any } that holds values of type  is holding no values.~ Reading a , value is always a parse error, considering & as a data type with no constructors. ~ ~None *246;BHMT;:9None '(*+24=K95(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone !"'(=HJKM    (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(3;=HJKM#An 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 6 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 J.1Convenient abbreviation for 3: 6type Demote (a :: k) = DemoteRep ('KProxy :: KProxy k)2The 2 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.3BGet a base type from a proxy for the promoted kind. For example, "DemoteRep ('KProxy :: KProxy Bool) will be the type Bool.4-Convert a singleton to its unrefined version.5HConvert an unrefined type to an existentially-quantified singleton type.6A 6 constraint is essentially an implicitly-passed singleton. If you need to satisfy this constraint with an explicit singleton, please see I.7;Produce the singleton explicitly. You will likely need the ScopedTypeVariables0 extension to use this method the way you want.8'The singleton kind-indexed data family.9=Convenient synonym to refer to the kind of a type variable: ,type KindOf (a :: k) = ('KProxy :: KProxy k):Get an implicit singleton (a 6 instance) from an explicit one.;Use 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: ^falses = sMap (singFun1 sNot :: Sing NotSym0) (STrue `SCons` STrue `SCons` SNil)There are a family of  singFun...? functions, keyed by the number of parameters of the function.BThis is the inverse of ;, and likewise for the other  unSingFun... functions.IRConvenience function for creating a context with an implicit singleton available.J Convert a normal datatype (like D) to a singleton for that datatype, passing it into a continuation.KyA convenience function useful when we need to name a singleton value multiple times. Without this function, each use of 7d could potentially refer to a different singleton, and one has to use type signatures (often with ScopedTypeVariables#) to ensure that they are the same.LA convenience function that names a singleton satisfying a certain property. If the singleton does not satisfy the property, then the function returns X. The property is expressed in terms of the underlying representation of the singleton.M7Allows creation of a singleton when a proxy is at hand.N&Allows creation of a singleton when a proxy# is at hand.OGHC 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 O as its right-hand side.A !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJThe original datatypeFunction expecting a singletonKLMNO8 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO6867234591-./0:IJMNKL,+*)('&%$#;<=>?@ABCDEFGH"! O8 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO# (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(3=HJKMPMembers of the P "kind" class support decidable equality. Instances of this class are generated alongside singleton definitions for datatypes that derive an  instance.Q>Compute a proof or disproof of equality, given two singletons.RA R about a type a0 is either a proof of existence or a proof that a cannot exist.SProof that no a existsT Witness for aU,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 UPQRSTU PQRSTU PQ URTSPQRTSU NoneP     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYP     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYP     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYNone *3=BKZ[\]^_`abcdefghijklm Z[cdefghijkZ[\]^_`abcdefghijklmNone?Bnopqrstuvwxyz{|} dentuvwxz{|} nopqrstuvwxyz{|}None~~~(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNoneNoneNone   NoneETU VoGenerate promoted definitions from a type that is already defined. This is generally only useful with classes.WKPromote every declaration given to the type level, retaining the originals.X3Promote each declaration, discarding the originals.Y=Generate defunctionalization symbols for existing type familyZHProduce instances for '(:==)' (type-level equality) from the given types[Produce instances for Compare from the given types\Produce instances for MinBound and MaxBound from the given types]IProduce an instance for '(:==)' (type-level equality) from the given type^Produce an instance for Compare from the given type_Produce an instance for MinBound and MaxBound from the given typeVWXYZ[\]^_VWXYZ[\]^_VWXYZ[\]^_ (C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(13=JKM`abcd`abcd`abcd`abcd None!None"None?E#None?E etGenerate 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.fkMake 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.gfMake promoted and singleton versions of all declarations given, discarding the original declarations.hCreate instances of SEq1 and type-level '(:==)' for each type in the listiCreate instance of SEq* and type-level '(:==)' for the given typejCreate instances of SEq) (only -- no instance for '(:==)', which SEq0 generally relies on) for each type in the listkCreate instances of SEq) (only -- no instance for '(:==)', which SEq) generally relies on) for the given typelCreate instances of SDecide for each type in the list.{Note that, due to a bug in GHC 7.6.3 (and lower) optimizing instances for SDecide can make GHC hang. You may want to put {-# OPTIONS_GHC -O0 #-} in your file.mCreate instance of SDecide for the given type.{Note that, due to a bug in GHC 7.6.3 (and lower) optimizing instances for SDecide can make GHC hang. You may want to put {-# OPTIONS_GHC -O0 #-} in your file.efghijklmefghijklmefghijklm$None!"'(234=HJKMrnopqrstuvwxyz{|}~pnopqrstuvwxyz{|}~@nopqrstuvwxyz{|}~-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(+=JKMConditional over singletons# 88(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(13=HJKMThe promoted analogue of e. If you supply no definition for '(:==)' under GHC 7.8+, 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(=KIProduce 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-8%(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNoneK &(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone'(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"(24;=HJKM  88  (C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(13=JKMz !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef28/8L !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef((C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone (C) 2014 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"&'(234=HJKMThe promotion of gKind-restricted synonym for 8 for SymbolsKind-restricted synonym for 8 for Nats Given a singleton for Nat, call something requiring a KnownNat instance. Given a singleton for Symbol, call something requiring a  KnownSymbol instance. The singleton for g1hijklmnopqrstuvwxy z{   |}~          'jklhmnoipqrstuvwxy z{   |}~(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneK  The function   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. -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 quote  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_efghijklmopqrstuvxyz{|}~ afgeWXYVZ]hijklm[^\_ 8PQ URTS/0xyz{|}~opqrstuv (C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(=JKMh !"#$%&'()*+,-./0123456789:;<=>?@ABC9 !"#$%&'()*+,-./0123456789:;<=>?@ABC9A@?><;BC:=9 !"#$%&'()-./012345*+,678L !"#$%&'()*+,-./0123456789:;<=>?@ABC-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(=HKM5DEFGHIJKLMNOPQRSTUVWXYZ[!8DEFGHIJKLMNOPQRSTUVWXYZ[8DIJ[KZLYMXNWEFGHOPQRSTUV'DEFGHIJKLMNOPQRSTUVWXYZ[)(C) 2014 Jan StolarekBSD-style (see LICENSE)jan.stolarek@p.lodz.pl experimental non-portableNoneDEFGHJKLMNOPQRSTUVDJKLMNEFGHOPQRSTUV(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(=HKM \]^_`abcdefghijklmnopqrH8nopqrstuvwxyz{|}~\]^_`abcdefghijklmnopqrA8wn]q^p_o\r`nxyz{|}~opqrstuvdefghijkabclm\]^_`abcdefghijklmnopqr*(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone4opqrstuvxyz{|}~\]^_`abcdefghijklm4]^_\`xyz{|}~opqrstuvdefghijkabclm(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(=JKMstuvw2 !"#$%&'()*+,-./012345678stuvw2s !"#$%&'()-./012345tuvw*+,678stuvw-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(3=HJKM     xyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ  R S T UVWXYZ[\]^_` !a"b#$c%d&e'(f)g*h+,i-j.k/lm0n12o34p56q78r9:s;<t=u>?v@wAxBCyDzEF{G|H}I~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}8 !"#$%&'?@Axyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}8?}|{zy@wuvtsmknlAjihgfx|ecdba`_^][Zx\YXWVUTSRQPONMqLrKJop~}'&#$% !"yz{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHId     xyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ  R S T UVWXYZ[\]^_` !a"b#$c%d&e'(f)g*h+,i-j.k/lm0n12o34p56q78r9:s;<t=u>?v@wAxBCyDzEF{G|H}I~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(=HKMP ~0 8~.8 ~; ~(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneK  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI\]^_abcdefghijkopqrxyz{|}~ !"#$%&'()*+,-./01RSTUVWXYabcdefghijmnwyz{|}~/8wn ><;BC:=9@?}|{zywmnAjgfx|eihcdbaYXWVUTSR~DI]q^p_o\r EFGHxyz{|}~opqrstuvdefghijkabc()-./012345*+,678~}#$%'& !"yz{ !"#$%&'()*+,-./01(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(=HJKMUe      !"#$% &' ( )* + ,- . /  0 1 23 4 5      6 7 89 : ;< = > ? @A B C D E FG !H "I #J $K %L &MN 'O (P )Q *R +S ,T -UV .W /X 0Y 1Z 2 3[ 4\ 5] 6^ 7_ 8` 9 :a ;b <c =d >e ?f @g A Bh Ci Dj Ek Fl Gm Hn Io J Kp Lqr Ms Ntu Ov Pw Qxy Rz 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 !"#$%&'xyz{}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{x~}'&#$% !"yz{      !"#$%&'()*+,-./0123456789:;<=>*+, !"#?@AB-./CDEFGHI     $%&'()0123459:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqyz{rstuvwx678      !"#$% &' ( )* + ,- . /  0 1 23 4 5       6 7 89 : ;< = > ? @A B C D E FG !H "I #J $K %L &MN 'O (P )Q *R +S ,T -UV .W /X 0Y 1Z 2 3[ 4\ 5] 6^ 7_ 8` 9 :a ;b <c =d >e ?f @g A Bh Ci Dj Ek Fl Gm Hn Io J Kp Lqr Ms Ntu Ov Pw Qxy Rz 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+(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone# ~# ~,(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNoneKn `abcdopqrstuvxyz{|}~  !"#$%&'()*+,-./012345678DEFGH\]^_abcdefghijkstuvwxyz{}~ !"#$%&'()*+,-./01~  $%&0129:;@ ~D]^_\sxEFGHxyz{|}~opqrstuvdefghijkabc ()-./012345*+,678~}#$%'& !"yz{ !"#$%&'()*+,-./01tuvw  $%&0129:;-(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneKK#$,VWXYZ[\]^_opqrstuvxyz{|}~KWXYVZ][^\_,$#xyz{|}~opqrstuv 9./0./1234./5./6789:;./<./=.>?.>@.>A.>B.>C.DE.DE.DF.DF.GH I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` ` a 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[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~..  K           !"#2$%.&' ( ) * + , - . / 0 1 2 3 4256 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !!!!!!""################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ $ $ $$$$$ !"#$%&'()*+,-.'(')'/'0'1'2'3'4'5'6'789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.2      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./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 Ysingletons-1.0Data.Singletons.TypeLitsData.Singletons.THData.Singletons.Prelude.BoolData.Singletons.Prelude.OrdData.Singletons.Prelude.EitherData.Singletons.Prelude.ListData.Singletons.Prelude.MaybeData.Singletons.Types&Data.Singletons.SuppressUnusedWarningsData.Singletons.VoidData.SingletonsData.Singletons.DecideData.Promotion.Prelude.BoundedData.Singletons.Prelude.TupleData.Singletons.PreludeData.Singletons.Prelude.EqData.Singletons.CustomStarData.Singletons.Prelude.BaseData.Promotion.Prelude.BaseData.Promotion.Prelude.ListData.Singletons.UtilData.Singletons.SyntaxData.Singletons.NamesData.Singletons.Promote.MonadData.Singletons.Single.MonadData.Singletons.Promote.EqData.Singletons.Promote.OrdData.Singletons.Promote.BoundedData.Singletons.Promote.TypeData.Singletons.Promote.DefunData.Singletons.PromoteData.Singletons.Single.TypeData.Singletons.Single.EqData.Singletons.Single.DataData.Singletons.Single!Data.Singletons.Prelude.InstancesData.Promotion.Prelude.EqData.Promotion.Prelude.BoolData.Singletons.TypeRepStarData.Promotion.Prelude.OrdData.Promotion.Prelude.EitherData.Promotion.Prelude.TupleData.Promotion.Prelude.MaybeData.Promotion.PreludeData.Promotion.THbase GHC.TypeLitsKnownNat KnownSymbolghc-primGHC.PrimAnyNatSymbolbool_thenCmpeither_any_maybe_ symbolValnatValData.Type.Equality gcastWithRefl:~: testEquality TestEquality Data.ProxyProxyKProxyData.Type.BoolIfSuppressUnusedWarningssuppressUnusedWarningsVoidabsurdvacuousvacuousM SingFunction7 SingFunction6 SingFunction5 SingFunction4 SingFunction3 SingFunction2 SingFunction1@@ApplyTyCon7TyCon6TyCon5TyCon4TyCon3TyCon2TyCon1TyFun SingInstanceSomeSingDemoteSingKind DemoteRepfromSingtoSingSingIsingSingKindOf singInstancesingFun1singFun2singFun3singFun4singFun5singFun6singFun7 unSingFun1 unSingFun2 unSingFun3 unSingFun4 unSingFun5 unSingFun6 unSingFun7 withSingI withSomeSingwithSingsingThat singByProxy singByProxy#bugInGHCSDecide%~Decision DisprovedProvedRefuted genPromotionspromote promoteOnlygenDefunSymbolspromoteEqInstancespromoteOrdInstancespromoteBoundedInstancespromoteEqInstancepromoteOrdInstancepromoteBoundedInstancePBoundedMinBoundMaxBound MaxBoundSym0 MinBoundSym0 genSingletons singletonssingletonsOnlysingEqInstancessingEqInstancesingEqInstancesOnlysingEqInstanceOnlysingDecideInstancessingDecideInstanceSTuple7 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 Tuple2Sym2STuple0 Tuple0Sym0 SOrderingGTSym0EQSym0LTSym0SBoolTrueSym0 FalseSym0SEither RightSym0 RightSym1LeftSym0LeftSym1SList:$:$$:$$$SMaybeJustSym0JustSym1 NothingSym0Bool_ Bool_Sym0 Bool_Sym1 Bool_Sym2 Bool_Sym3sBool_:&&:||Not Otherwise:&&$:&&$$:&&$$$:||$:||$$:||$$$NotSym0NotSym1 OtherwiseSym0 sOtherwisesNot%:||%:&&sIfPEq:==:/=SEq%:==%:/=:/=$:/=$$:/=$$$:==$:==$$:==$$$ singletonStarSOrdsCompare%:<%:<=%:>%:>=sMaxsMinPOrdCompare:<:>=:>:<=MaxMinMinSym0MinSym1MinSym2MaxSym0MaxSym1MaxSym2:<=$:<=$$:<=$$$:>$:>$$:>$$$:>=$:>=$$:>=$$$:<$:<$$:<$$$ CompareSym0 CompareSym1 CompareSym2ThenCmp ThenCmpSym0 ThenCmpSym1 ThenCmpSym2sThenCmp:^:*:-:+ ErrorSym0ErrorSSymbolSNat:^$:^$$:*$:*$$:-$:-$$:+$:+$$ withKnownNatwithKnownSymbolsErrorcases$!$$$$!$$$!$$!$$$$$$$$$$FoldrMap:++IdAsTypeOfConst:.FlipSeq FoldrSym0 FoldrSym1 FoldrSym2 FoldrSym3MapSym0MapSym1MapSym2:++$:++$$IdSym0IdSym1 AsTypeOfSym0 AsTypeOfSym1 AsTypeOfSym2 ConstSym0 ConstSym1 ConstSym2:.$:.$$:.$$$FlipSym0FlipSym1FlipSym2SeqSym0SeqSym1SeqSym2sSeqsFlip%:.sConst sAsTypeOfsId%:++sMapsFoldr%$%$!Either_ 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_ConsSym2ConsSym1ConsSym0NilSym0HeadLastTailInitNull IsSuffixOfReverse Intercalate Intersperse Subsequences PermutationsDeleteFirstsBy:\\ MinimumBy MaximumByFoldl1FoldlFoldl1'Foldl'Foldr1Concat ConcatMapAndOrAllScanl1ScanlScanrScanr1 MapAccumL MapAccumRUnfoldrInits IsInfixOfTails IsPrefixOfElemNotElemZipZip3ZipWithZipWith3UnzipUnzip3Unzip4Unzip5Unzip6Unzip7DeleteDeleteBySortByInsertByHeadSym0HeadSym1LastSym0LastSym1TailSym0TailSym1InitSym0InitSym1NullSym0NullSym1IsSuffixOfSym0IsSuffixOfSym1IsSuffixOfSym2 ReverseSym0 ReverseSym1IntercalateSym0IntercalateSym1IntercalateSym2IntersperseSym0IntersperseSym1IntersperseSym2SubsequencesSym0SubsequencesSym1PermutationsSym0PermutationsSym1DeleteFirstsBySym0DeleteFirstsBySym1DeleteFirstsBySym2DeleteFirstsBySym3:\\$:\\$$:\\$$$ MinimumBySym0 MinimumBySym1 MinimumBySym2 MaximumBySym0 MaximumBySym1 MaximumBySym2 Foldl1Sym0 Foldl1Sym1 Foldl1Sym2 FoldlSym0 FoldlSym1 FoldlSym2 FoldlSym3 Foldl1'Sym0 Foldl1'Sym1 Foldl1'Sym2 Foldl'Sym0 Foldl'Sym1 Foldl'Sym2 Foldl'Sym3 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 UnzipSym0 UnzipSym1 Unzip3Sym0 Unzip3Sym1 Unzip4Sym0 Unzip4Sym1 Unzip5Sym0 Unzip5Sym1 Unzip6Sym0 Unzip6Sym1 Unzip7Sym0 Unzip7Sym1 DeleteSym0 DeleteSym1 DeleteSym2 DeleteBySym0 DeleteBySym1 DeleteBySym2 DeleteBySym3 SortBySym0 SortBySym1 SortBySym2 InsertBySym0 InsertBySym1 InsertBySym2 InsertBySym3 sInsertBysSortBy sDeleteBysDeletesUnzip7sUnzip6sUnzip5sUnzip4sUnzip3sUnzip sZipWith3sZipWithsZip3sZipsNotElemsElem sIsPrefixOfsTails sIsInfixOfsInitssUnfoldr sMapAccumR sMapAccumLsScanr1sScanrsScanlsScanl1sAllsOrsAnd sConcatMapsConcatsFoldr1sFoldl'sFoldl1'sFoldlsFoldl1 sMaximumBy sMinimumBy%:\\sDeleteFirstsBy 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 sIsNothingsIsJust 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 BreakSym2StripPrefixSym0StripPrefixSym1 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 ZipWith5Sym0 ZipWith5Sym1 ZipWith5Sym2 ZipWith5Sym3 ZipWith5Sym4 ZipWith5Sym5 ZipWith6Sym0 ZipWith6Sym1 ZipWith6Sym2 ZipWith6Sym3 ZipWith6Sym4 ZipWith6Sym5 ZipWith6Sym6 ZipWith7Sym0 ZipWith7Sym1 ZipWith7Sym2 ZipWith7Sym3 ZipWith7Sym4 ZipWith7Sym5 ZipWith7Sym6 ZipWith7Sym7NubSym0NubSym1 UnionSym0 UnionSym1 UnionSym2 UnionBySym0 UnionBySym1 UnionBySym2 UnionBySym3 NubBySym0 NubBySym1 NubBySym2GHC.BaseFunctorMonad $fReadVoid$fExceptionVoid$fIxVoid $fShowVoid $fOrdVoid$fEqVoidQWithAuxQWArunQWA basicTypesboundedBasicTypes qReifyMaybeqReportWarning qReportError checkForRepcheckForRepInDeclstupleDegree_maybetupleNameDegree_maybeunboxedTupleDegree_maybeunboxedTupleNameDegree_maybetysOfConFieldsextractNameArgsextractNameTypesisUpcaseupcase toUpcaseStrlocase prefixUCName prefixLCName suffixNameextractTvbKindextractTvbName inferKindunravelravel countArgsaddStar addStar_maybefoldTypefoldExpisVarKisFunTy orIfEmpty emptyMatches multiCase wrapDesugarcomp1comp2evalWithoutAux evalForAux evalForPair addBinding addElement concatMapMlistifyfstOf3liftFstliftSndsnocView partitionWithpartitionWithMpartitionLetDecs mapAndUnzip3M isHsLetter$fQuasiQWithAux ULetDecEnv ALetDecEnv LetDecEnv lde_defns lde_types lde_infix lde_proms ULetDecRHSUValue UFunction ALetDecRHSAValue AFunctionIfAnnAnnotationFlag Unannotated AnnotatedADClauseADMatchADExpADSigEADLetEADCaseEADLamEADAppEADLitEADConEADVarEPartitionedDecsPDecs pd_let_decs pd_class_decspd_instance_decs pd_data_decsInstDecl ClassDeclDataDecl VarPromotions partitionDecs partitionDecpartitionClassDecpartitionInstanceDec valueBinding typeBinding infixDeclemptyLetDecEnvbuildLetDecEnv$fMonoidLetDecEnvTFCo:R:IfAnnkUnannotatedyesnoTFCo:R:IfAnnkAnnotatedyesno$fMonoidPartitionedDecs GHC.TypesBool Data.MaybeNothingDIDon'tInstantiateSLambda applySing$fSingKind(->)KProxyTFCo:R:Sing(->)fTFCo:R:Apply(->)kTyCon7xTFCo:R:Apply(->)kTyCon6xTFCo:R:Apply(->)kTyCon5xTFCo:R:Apply(->)kTyCon4xTFCo:R:Apply(->)kTyCon3xTFCo:R:Apply(->)kTyCon2xTFCo:R:Applyk1kTyCon1x GHC.ClassesEq$fTestEqualitykSing anyTypeNameboolNameandName tyCompareNametyminBoundNametymaxBoundNametyEqNamerepNamenilNameconsNamelistName tyFunName applyName symbolName undefinedName typeRepName stringNameeqNameordName boundedName orderingName ordLTSymName ordEQSymName ordGTSymNamesingFamilyName singIName singMethName toSingName fromSingName demoteRepNamesingKindClassName sEqClassName sEqMethNamesIfName sconsNamesnilNamekProxyDataNamekProxyTypeNamesomeSingTypeNamesomeSingDataName proxyTypeName proxyDataName sListNamesDecideClassNamesDecideMethName provedName disprovedNamereflName equalityName applySingNamesuppressClassNamesuppressMethodName tyThenCmpName kindOfName mkTupleNamepromoteValNameLhspromoteValNameLhsPrefix promoteValRhs promoteTySympromoteClassName classTvsNamemkTyName falseTySym trueTySymboolKiandTySym inferKindTVinferMaybeKindTV unknownResultsingDataConName singTyConName singClassName singValName kindParamproxyFor singFamilysingKindConstraintdemoteapply foldApplyLetBindPrMPrEnvpr_lambda_bound pr_let_bound LetExpansions emptyPrEnv allLocalsemitDecs emitDecsM lambdaBindletBind lookupVarEpromoteM promoteM_ promoteMDecs$fQuasiReaderT$fQuasiWriterTSgMSgEnv sg_let_binds emptySgEnvbindLetsbindTyVarsClause bindTyVars lookupConElookup_var_con wrapSingFun wrapUnSingFunsingM singDecsMmkEqTypeInstancemkOrdTypeInstance mkOrdTySynEqnmkBoundedTypeInstance promoteType defunInfobuildDefunSymsbuildDefunSymsDataDdefunctionalize buildTyFunbuildTyFun_maybe tyFunArityisTyFun ravelTyFun promoteInfo promoteDecspromoteDataDecspromoteLetDecsnoPrefixpromoteDataDecpromoteClassDecpromoteInstanceDec promoteMethodpromoteLetDecEnvpromoteInfixDeclpromoteLetDecRHS promoteClause promoteMatch promotePat promoteExp promoteLitTFCo:R:MinBound(,,,,,,) TopLevelFlag NotTopLevelTopLevelsingTypesingPred singPredRecEqualityClassDesc sEqClassDescsDecideClassDescmkEqualityInstancemkEqMethClausemkDecideMethClause singDataDsingCtorPatternContext Parameter CaseStatement LetBindingsingEqualityInstancesingInfosingTopLevelDecs buildDataLets buildMethLets singLetDecEnv singClausecheckIfBrainWillExplodesingPatsingExp singMatchsingLitTuple7Sym0KindInferenceTuple7Sym1KindInferenceTuple7Sym2KindInferenceTuple7Sym3KindInferenceTuple7Sym4KindInferenceTuple7Sym5KindInferenceTuple7Sym6KindInferenceTuple6Sym0KindInferenceTuple6Sym1KindInferenceTuple6Sym2KindInferenceTuple6Sym3KindInferenceTuple6Sym4KindInferenceTuple6Sym5KindInferenceTuple5Sym0KindInferenceTuple5Sym1KindInferenceTuple5Sym2KindInferenceTuple5Sym3KindInferenceTuple5Sym4KindInferenceTuple4Sym0KindInferenceTuple4Sym1KindInferenceTuple4Sym2KindInferenceTuple4Sym3KindInferenceTuple3Sym0KindInferenceTuple3Sym1KindInferenceTuple3Sym2KindInferenceTuple2Sym0KindInferenceTuple2Sym1KindInferenceRightSym0KindInferenceLeftSym0KindInference:$###:$$###:[]$JustSym0KindInferenceSGTSEQSLTSTrueSFalseSRightSLeftSConsSNilSJustSNothingTFCo:R:DemoteRep(,,,,,,)KProxy$fSDecideMaybeKProxyBool_Sym0KindInferenceBool_Sym1KindInferenceBool_Sym2KindInferenceTFCo:R:Apply(->)kBool_Sym0l0:&&$###:&&$$###:||$###:||$$###NotSym0KindInferenceTFCo:R:Apply(->)Bool:&&$l0Equals_1627799734Equals_1627799747Equals_1627799766Equals_1627799783Equals_1627799790Equals_1627799797Equals_1627799806Equals_1627799826Equals_1627799852Equals_1627799884Equals_1627799922Equals_1627799966:/=$###:/=$$###:==$###:==$$###TFCo:R:Apply(->)k:/=$l0TFCo:R::==(,,,,,,)a0b0STypeRepdirty_mk_STypeRep$fTestCoercion*Sing$fSDecide*KProxy $fSEq*KProxy $fPEq*KProxy$fSingKind*KProxy $fSingI*a TFCo:R:Sing*aCase_1627824358Case_1627824369Case_1627824395Case_1627824420Case_1627824445Case_1627824470Case_1627824495Case_1627824519 CaseOrdering"Let_1627824510Scrutinee_1627824272&Let_1627824510Scrutinee_1627824272Sym03Let_1627824510Scrutinee_1627824272Sym0KindInference&Let_1627824510Scrutinee_1627824272Sym13Let_1627824510Scrutinee_1627824272Sym1KindInference&Let_1627824510Scrutinee_1627824272Sym2"Let_1627824486Scrutinee_1627824270&Let_1627824486Scrutinee_1627824270Sym03Let_1627824486Scrutinee_1627824270Sym0KindInference&Let_1627824486Scrutinee_1627824270Sym13Let_1627824486Scrutinee_1627824270Sym1KindInference&Let_1627824486Scrutinee_1627824270Sym2"Let_1627824461Scrutinee_1627824264&Let_1627824461Scrutinee_1627824264Sym03Let_1627824461Scrutinee_1627824264Sym0KindInference&Let_1627824461Scrutinee_1627824264Sym13Let_1627824461Scrutinee_1627824264Sym1KindInference&Let_1627824461Scrutinee_1627824264Sym2"Let_1627824436Scrutinee_1627824266&Let_1627824436Scrutinee_1627824266Sym03Let_1627824436Scrutinee_1627824266Sym0KindInference&Let_1627824436Scrutinee_1627824266Sym13Let_1627824436Scrutinee_1627824266Sym1KindInference&Let_1627824436Scrutinee_1627824266Sym2"Let_1627824411Scrutinee_1627824268&Let_1627824411Scrutinee_1627824268Sym03Let_1627824411Scrutinee_1627824268Sym0KindInference&Let_1627824411Scrutinee_1627824268Sym13Let_1627824411Scrutinee_1627824268Sym1KindInference&Let_1627824411Scrutinee_1627824268Sym2"Let_1627824386Scrutinee_1627824262&Let_1627824386Scrutinee_1627824262Sym03Let_1627824386Scrutinee_1627824262Sym0KindInference&Let_1627824386Scrutinee_1627824262Sym13Let_1627824386Scrutinee_1627824262Sym1KindInference&Let_1627824386Scrutinee_1627824262Sym2"Let_1627824360Scrutinee_1627824260&Let_1627824360Scrutinee_1627824260Sym03Let_1627824360Scrutinee_1627824260Sym0KindInference&Let_1627824360Scrutinee_1627824260Sym13Let_1627824360Scrutinee_1627824260Sym1KindInference&Let_1627824360Scrutinee_1627824260Sym2"Let_1627824349Scrutinee_1627824258&Let_1627824349Scrutinee_1627824258Sym03Let_1627824349Scrutinee_1627824258Sym0KindInference&Let_1627824349Scrutinee_1627824258Sym13Let_1627824349Scrutinee_1627824258Sym1KindInference&Let_1627824349Scrutinee_1627824258Sym2MinSym0KindInferenceMinSym1KindInferenceMaxSym0KindInferenceMaxSym1KindInference:<=$###:<=$$###:>$###:>$$###:>=$###:>=$$###:<$###:<$$###CompareSym0KindInferenceCompareSym1KindInferenceTFCo:R:CaseOrderingkGTlteqgtTFCo:R:CaseOrderingkEQlteqgtTFCo:R:CaseOrderingkLTlteqgt9TFCo:R:Apply(->)kLet_1627824510Scrutinee_1627824272Sym0l0ThenCmpSym0KindInferenceThenCmpSym1KindInference%TFCo:R:Apply(->)OrderingThenCmpSym0l0&TFCo:R:Compare(,,,,,,)(,,,,,,)(,,,,,,)GHC.ErrerrorSSym$fSingKindSymbolKProxy$fSingISymbolnTFCo:R:SingSymboln$fSingKindNatKProxy $fSingINatnTFCo:R:SingNatn:^$###:^$$###:^$$$:*$###:*$$###:*$$$:-$###:-$$###:-$$$:+$###:+$$###:+$$$TFCo:R:ApplykSymbolErrorSym0a$fPOrdSymbolKProxy$fPOrdNatKProxy$fSEqSymbolKProxy$fSEqNatKProxy$fPEqSymbolKProxy$fPEqNatKProxy$fSDecideSymbolKProxy$fSDecideNatKProxyTFCo:R:Apply(->)Nat:^$l0Lambda_1627849017FoldrSym0KindInferenceFoldrSym1KindInferenceFoldrSym2KindInferenceMapSym0KindInferenceMapSym1KindInference:++$###:++$$###:++$$$IdSym0KindInferenceAsTypeOfSym0KindInferenceAsTypeOfSym1KindInferenceConstSym0KindInferenceConstSym1KindInference:.$###:.$$###:.$$$###:.$$$$FlipSym0KindInferenceFlipSym1KindInferenceFlipSym2KindInferenceFlipSym3SeqSym0KindInferenceSeqSym1KindInferenceLet_1627849117GoLet_1627849117GoSym0!Let_1627849117GoSym0KindInferenceLet_1627849117GoSym1!Let_1627849117GoSym1KindInferenceLet_1627849117GoSym2!Let_1627849117GoSym2KindInferenceLet_1627849117GoSym3!Let_1627849117GoSym3KindInferenceLet_1627849117GoSym4Lambda_1627849017Sym0"Lambda_1627849017Sym0KindInferenceLambda_1627849017Sym1"Lambda_1627849017Sym1KindInferenceLambda_1627849017Sym2"Lambda_1627849017Sym2KindInferenceLambda_1627849017Sym3"Lambda_1627849017Sym3KindInferenceLambda_1627849017Sym4TFCo:R:Applyk1k$!$$argTFCo:R:Apply(->)(->)$!$argTFCo:R:$!kk1fxTFCo:R:Applyk1k$$$argTFCo:R:Apply(->)(->)$$arg TFCo:R:$kk1fxTFCo:R:Apply(->)(->)FoldrSym0l0Either_Sym0KindInferenceEither_Sym1KindInferenceEither_Sym2KindInference!TFCo:R:Apply(->)(->)Either_Sym0l0LeftsSym0KindInferenceRightsSym0KindInferencePartitionEithersSym0!PartitionEithersSym0KindInferencePartitionEithersSym1IsLeftSym0KindInferenceIsRightSym0KindInferenceLet_1627864934LeftLet_1627864934RightLet_1627864934LeftSym0#Let_1627864934LeftSym0KindInferenceLet_1627864934LeftSym1#Let_1627864934LeftSym1KindInferenceLet_1627864934LeftSym2#Let_1627864934LeftSym2KindInferenceLet_1627864934LeftSym3Let_1627864934RightSym0$Let_1627864934RightSym0KindInferenceLet_1627864934RightSym1$Let_1627864934RightSym1KindInferenceLet_1627864934RightSym2$Let_1627864934RightSym2KindInferenceLet_1627864934RightSym3TFCo:R:Apply[][]LeftsSym0l0UncurrySym0KindInferenceUncurrySym1KindInferenceFstSym0KindInferenceSndSym0KindInferenceCurrySym0KindInferenceCurrySym1KindInferenceCurrySym2KindInferenceSwapSym0KindInference!TFCo:R:Apply(->)(->)UncurrySym0l0Case_1627883057Case_1627883060UntilSym0KindInferenceUntilSym1KindInferenceUntilSym2KindInferenceLet_1627883035GoLet_1627883035GoSym0!Let_1627883035GoSym0KindInferenceLet_1627883035GoSym1!Let_1627883035GoSym1KindInferenceLet_1627883035GoSym2!Let_1627883035GoSym2KindInferenceLet_1627883035GoSym3!Let_1627883035GoSym3KindInferenceLet_1627883035GoSym4TFCo:R:Apply(->)(->)UntilSym0l0Case_1627893671Case_1627893729Lambda_1627893753Case_1627893758Lambda_1627893795Case_1627893800Lambda_1627893835Case_1627893840Lambda_1627893873Case_1627893878Lambda_1627893909Case_1627893914Lambda_1627893943Case_1627893948Case_1627894160Case_1627894187Case_1627894213Case_1627894254Case_1627894278Case_1627894302Case_1627894326Case_1627894421Case_1627894445Case_1627894469Case_1627894493Case_1627894609Case_1627894656Case_1627894694Case_1627895042Case_1627895131Case_1627895258Case_1627895316Case_1627895469Any_Sym0KindInferenceAny_Sym1KindInferenceTFCo:R:Apply(->)(->)Any_Sym0l0NonEmptySubsequences PrependToAllHeadSym0KindInferenceLastSym0KindInferenceTailSym0KindInferenceInitSym0KindInferenceNullSym0KindInferenceIsSuffixOfSym0KindInferenceIsSuffixOfSym1KindInferenceReverseSym0KindInferenceIntercalateSym0KindInferenceIntercalateSym1KindInferenceIntersperseSym0KindInferenceIntersperseSym1KindInferenceSubsequencesSym0KindInferenceNonEmptySubsequencesSym0%NonEmptySubsequencesSym0KindInferenceNonEmptySubsequencesSym1PrependToAllSym0PrependToAllSym0KindInferencePrependToAllSym1PrependToAllSym1KindInferencePrependToAllSym2PermutationsSym0KindInferenceDeleteFirstsBySym0KindInferenceDeleteFirstsBySym1KindInferenceDeleteFirstsBySym2KindInference:\\$###:\\$$###MinimumBySym0KindInferenceMinimumBySym1KindInferenceMaximumBySym0KindInferenceMaximumBySym1KindInferenceFoldl1Sym0KindInferenceFoldl1Sym1KindInferenceFoldlSym0KindInferenceFoldlSym1KindInferenceFoldlSym2KindInferenceFoldl1'Sym0KindInferenceFoldl1'Sym1KindInferenceFoldl'Sym0KindInferenceFoldl'Sym1KindInferenceFoldl'Sym2KindInferenceFoldr1Sym0KindInferenceFoldr1Sym1KindInferenceConcatSym0KindInferenceConcatMapSym0KindInferenceConcatMapSym1KindInferenceAndSym0KindInferenceOrSym0KindInferenceAllSym0KindInferenceAllSym1KindInferenceScanl1Sym0KindInferenceScanl1Sym1KindInferenceScanlSym0KindInferenceScanlSym1KindInferenceScanlSym2KindInferenceScanrSym0KindInferenceScanrSym1KindInferenceScanrSym2KindInferenceScanr1Sym0KindInferenceScanr1Sym1KindInferenceMapAccumLSym0KindInferenceMapAccumLSym1KindInferenceMapAccumLSym2KindInferenceMapAccumRSym0KindInferenceMapAccumRSym1KindInferenceMapAccumRSym2KindInferenceUnfoldrSym0KindInferenceUnfoldrSym1KindInferenceInitsSym0KindInferenceIsInfixOfSym0KindInferenceIsInfixOfSym1KindInferenceTailsSym0KindInferenceIsPrefixOfSym0KindInferenceIsPrefixOfSym1KindInferenceElemSym0KindInferenceElemSym1KindInferenceNotElemSym0KindInferenceNotElemSym1KindInferenceZipSym0KindInferenceZipSym1KindInferenceZip3Sym0KindInferenceZip3Sym1KindInferenceZip3Sym2KindInferenceZipWithSym0KindInferenceZipWithSym1KindInferenceZipWithSym2KindInferenceZipWith3Sym0KindInferenceZipWith3Sym1KindInferenceZipWith3Sym2KindInferenceZipWith3Sym3KindInference ZipWith3Sym4UnzipSym0KindInferenceUnzip3Sym0KindInferenceUnzip4Sym0KindInferenceUnzip5Sym0KindInferenceUnzip6Sym0KindInferenceUnzip7Sym0KindInferenceDeleteSym0KindInferenceDeleteSym1KindInferenceDeleteBySym0KindInferenceDeleteBySym1KindInferenceDeleteBySym2KindInferenceSortBySym0KindInferenceSortBySym1KindInferenceInsertBySym0KindInferenceInsertBySym1KindInferenceInsertBySym2KindInferenceLet_1627895699Last'Let_1627895699Last'Sym0$Let_1627895699Last'Sym0KindInferenceLet_1627895699Last'Sym1$Let_1627895699Last'Sym1KindInferenceLet_1627895699Last'Sym2$Let_1627895699Last'Sym2KindInferenceLet_1627895699Last'Sym3$Let_1627895699Last'Sym3KindInferenceLet_1627895699Last'Sym4Let_1627895661Init'Let_1627895661Init'Sym0$Let_1627895661Init'Sym0KindInferenceLet_1627895661Init'Sym1$Let_1627895661Init'Sym1KindInferenceLet_1627895661Init'Sym2$Let_1627895661Init'Sym2KindInferenceLet_1627895661Init'Sym3$Let_1627895661Init'Sym3KindInferenceLet_1627895661Init'Sym4Let_1627895618RevLet_1627895618RevSym0"Let_1627895618RevSym0KindInferenceLet_1627895618RevSym1"Let_1627895618RevSym1KindInferenceLet_1627895618RevSym2"Let_1627895618RevSym2KindInferenceLet_1627895618RevSym3Let_1627895560FLet_1627895560FSym0 Let_1627895560FSym0KindInferenceLet_1627895560FSym1 Let_1627895560FSym1KindInferenceLet_1627895560FSym2 Let_1627895560FSym2KindInferenceLet_1627895560FSym3 Let_1627895560FSym3KindInferenceLet_1627895560FSym4Let_1627895177PermsLet_1627895177PermsSym0$Let_1627895177PermsSym0KindInferenceLet_1627895177PermsSym1$Let_1627895177PermsSym1KindInferenceLet_1627895177PermsSym2$Let_1627895177PermsSym2KindInferenceLet_1627895177PermsSym3Let_1627895197InterleaveLet_1627895197Interleave'Let_1627895197InterleaveSym0)Let_1627895197InterleaveSym0KindInferenceLet_1627895197InterleaveSym1)Let_1627895197InterleaveSym1KindInferenceLet_1627895197InterleaveSym2)Let_1627895197InterleaveSym2KindInferenceLet_1627895197InterleaveSym3)Let_1627895197InterleaveSym3KindInferenceLet_1627895197InterleaveSym4)Let_1627895197InterleaveSym4KindInferenceLet_1627895197InterleaveSym5)Let_1627895197InterleaveSym5KindInferenceLet_1627895197InterleaveSym6Let_1627895197Interleave'Sym0*Let_1627895197Interleave'Sym0KindInferenceLet_1627895197Interleave'Sym1*Let_1627895197Interleave'Sym1KindInferenceLet_1627895197Interleave'Sym2*Let_1627895197Interleave'Sym2KindInferenceLet_1627895197Interleave'Sym3*Let_1627895197Interleave'Sym3KindInferenceLet_1627895197Interleave'Sym4*Let_1627895197Interleave'Sym4KindInferenceLet_1627895197Interleave'Sym5*Let_1627895197Interleave'Sym5KindInferenceLet_1627895197Interleave'Sym6*Let_1627895197Interleave'Sym6KindInferenceLet_1627895197Interleave'Sym7Let_1627895463X_1627895465Let_1627895463ZsLet_1627895463X_1627895465Sym0+Let_1627895463X_1627895465Sym0KindInferenceLet_1627895463X_1627895465Sym1+Let_1627895463X_1627895465Sym1KindInferenceLet_1627895463X_1627895465Sym2+Let_1627895463X_1627895465Sym2KindInferenceLet_1627895463X_1627895465Sym3+Let_1627895463X_1627895465Sym3KindInferenceLet_1627895463X_1627895465Sym4+Let_1627895463X_1627895465Sym4KindInferenceLet_1627895463X_1627895465Sym5+Let_1627895463X_1627895465Sym5KindInferenceLet_1627895463X_1627895465Sym6Let_1627895463ZsSym0!Let_1627895463ZsSym0KindInferenceLet_1627895463ZsSym1!Let_1627895463ZsSym1KindInferenceLet_1627895463ZsSym2!Let_1627895463ZsSym2KindInferenceLet_1627895463ZsSym3!Let_1627895463ZsSym3KindInferenceLet_1627895463ZsSym4!Let_1627895463ZsSym4KindInferenceLet_1627895463ZsSym5!Let_1627895463ZsSym5KindInferenceLet_1627895463ZsSym6Let_1627895250X_1627895252Let_1627895250ZsLet_1627895250UsLet_1627895250X_1627895252Sym0+Let_1627895250X_1627895252Sym0KindInferenceLet_1627895250X_1627895252Sym1+Let_1627895250X_1627895252Sym1KindInferenceLet_1627895250X_1627895252Sym2+Let_1627895250X_1627895252Sym2KindInferenceLet_1627895250X_1627895252Sym3+Let_1627895250X_1627895252Sym3KindInferenceLet_1627895250X_1627895252Sym4+Let_1627895250X_1627895252Sym4KindInferenceLet_1627895250X_1627895252Sym5+Let_1627895250X_1627895252Sym5KindInferenceLet_1627895250X_1627895252Sym6+Let_1627895250X_1627895252Sym6KindInferenceLet_1627895250X_1627895252Sym7+Let_1627895250X_1627895252Sym7KindInferenceLet_1627895250X_1627895252Sym8Let_1627895250ZsSym0!Let_1627895250ZsSym0KindInferenceLet_1627895250ZsSym1!Let_1627895250ZsSym1KindInferenceLet_1627895250ZsSym2!Let_1627895250ZsSym2KindInferenceLet_1627895250ZsSym3!Let_1627895250ZsSym3KindInferenceLet_1627895250ZsSym4!Let_1627895250ZsSym4KindInferenceLet_1627895250ZsSym5!Let_1627895250ZsSym5KindInferenceLet_1627895250ZsSym6!Let_1627895250ZsSym6KindInferenceLet_1627895250ZsSym7!Let_1627895250ZsSym7KindInferenceLet_1627895250ZsSym8Let_1627895250UsSym0!Let_1627895250UsSym0KindInferenceLet_1627895250UsSym1!Let_1627895250UsSym1KindInferenceLet_1627895250UsSym2!Let_1627895250UsSym2KindInferenceLet_1627895250UsSym3!Let_1627895250UsSym3KindInferenceLet_1627895250UsSym4!Let_1627895250UsSym4KindInferenceLet_1627895250UsSym5!Let_1627895250UsSym5KindInferenceLet_1627895250UsSym6!Let_1627895250UsSym6KindInferenceLet_1627895250UsSym7!Let_1627895250UsSym7KindInferenceLet_1627895250UsSym8Let_1627895073MinByLet_1627895073MinBySym0$Let_1627895073MinBySym0KindInferenceLet_1627895073MinBySym1$Let_1627895073MinBySym1KindInferenceLet_1627895073MinBySym2$Let_1627895073MinBySym2KindInferenceLet_1627895073MinBySym3$Let_1627895073MinBySym3KindInferenceLet_1627895073MinBySym4$Let_1627895073MinBySym4KindInferenceLet_1627895073MinBySym5"Let_1627895104Scrutinee_1627893604&Let_1627895104Scrutinee_1627893604Sym03Let_1627895104Scrutinee_1627893604Sym0KindInference&Let_1627895104Scrutinee_1627893604Sym13Let_1627895104Scrutinee_1627893604Sym1KindInference&Let_1627895104Scrutinee_1627893604Sym23Let_1627895104Scrutinee_1627893604Sym2KindInference&Let_1627895104Scrutinee_1627893604Sym33Let_1627895104Scrutinee_1627893604Sym3KindInference&Let_1627895104Scrutinee_1627893604Sym43Let_1627895104Scrutinee_1627893604Sym4KindInference&Let_1627895104Scrutinee_1627893604Sym5Let_1627895059XsLet_1627895059XsSym0!Let_1627895059XsSym0KindInferenceLet_1627895059XsSym1!Let_1627895059XsSym1KindInferenceLet_1627895059XsSym2!Let_1627895059XsSym2KindInferenceLet_1627895059XsSym3Let_1627894984MaxByLet_1627894984MaxBySym0$Let_1627894984MaxBySym0KindInferenceLet_1627894984MaxBySym1$Let_1627894984MaxBySym1KindInferenceLet_1627894984MaxBySym2$Let_1627894984MaxBySym2KindInferenceLet_1627894984MaxBySym3$Let_1627894984MaxBySym3KindInferenceLet_1627894984MaxBySym4$Let_1627894984MaxBySym4KindInferenceLet_1627894984MaxBySym5"Let_1627895015Scrutinee_1627893598&Let_1627895015Scrutinee_1627893598Sym03Let_1627895015Scrutinee_1627893598Sym0KindInference&Let_1627895015Scrutinee_1627893598Sym13Let_1627895015Scrutinee_1627893598Sym1KindInference&Let_1627895015Scrutinee_1627893598Sym23Let_1627895015Scrutinee_1627893598Sym2KindInference&Let_1627895015Scrutinee_1627893598Sym33Let_1627895015Scrutinee_1627893598Sym3KindInference&Let_1627895015Scrutinee_1627893598Sym43Let_1627895015Scrutinee_1627893598Sym4KindInference&Let_1627895015Scrutinee_1627893598Sym5Let_1627894970XsLet_1627894970XsSym0!Let_1627894970XsSym0KindInferenceLet_1627894970XsSym1!Let_1627894970XsSym1KindInferenceLet_1627894970XsSym2!Let_1627894970XsSym2KindInferenceLet_1627894970XsSym3Let_1627894911LgoLet_1627894911LgoSym0"Let_1627894911LgoSym0KindInferenceLet_1627894911LgoSym1"Let_1627894911LgoSym1KindInferenceLet_1627894911LgoSym2"Let_1627894911LgoSym2KindInferenceLet_1627894911LgoSym3"Let_1627894911LgoSym3KindInferenceLet_1627894911LgoSym4"Let_1627894911LgoSym4KindInferenceLet_1627894911LgoSym5Let_1627894812LgoLet_1627894812LgoSym0"Let_1627894812LgoSym0KindInferenceLet_1627894812LgoSym1"Let_1627894812LgoSym1KindInferenceLet_1627894812LgoSym2"Let_1627894812LgoSym2KindInferenceLet_1627894812LgoSym3"Let_1627894812LgoSym3KindInferenceLet_1627894812LgoSym4"Let_1627894812LgoSym4KindInferenceLet_1627894812LgoSym5Let_1627894845Z'Let_1627894845Z'Sym0!Let_1627894845Z'Sym0KindInferenceLet_1627894845Z'Sym1!Let_1627894845Z'Sym1KindInferenceLet_1627894845Z'Sym2!Let_1627894845Z'Sym2KindInferenceLet_1627894845Z'Sym3!Let_1627894845Z'Sym3KindInferenceLet_1627894845Z'Sym4!Let_1627894845Z'Sym4KindInferenceLet_1627894845Z'Sym5!Let_1627894845Z'Sym5KindInferenceLet_1627894845Z'Sym6Let_1627894773XsLet_1627894773XsSym0!Let_1627894773XsSym0KindInferenceLet_1627894773XsSym1!Let_1627894773XsSym1KindInferenceLet_1627894773XsSym2!Let_1627894773XsSym2KindInferenceLet_1627894773XsSym3!Let_1627894773XsSym3KindInferenceLet_1627894773XsSym4"Let_1627894680Scrutinee_1627893554&Let_1627894680Scrutinee_1627893554Sym03Let_1627894680Scrutinee_1627893554Sym0KindInference&Let_1627894680Scrutinee_1627893554Sym13Let_1627894680Scrutinee_1627893554Sym1KindInference&Let_1627894680Scrutinee_1627893554Sym23Let_1627894680Scrutinee_1627893554Sym2KindInference&Let_1627894680Scrutinee_1627893554Sym3"Let_1627894636Scrutinee_1627893556&Let_1627894636Scrutinee_1627893556Sym03Let_1627894636Scrutinee_1627893556Sym0KindInference&Let_1627894636Scrutinee_1627893556Sym13Let_1627894636Scrutinee_1627893556Sym1KindInference&Let_1627894636Scrutinee_1627893556Sym23Let_1627894636Scrutinee_1627893556Sym2KindInference&Let_1627894636Scrutinee_1627893556Sym33Let_1627894636Scrutinee_1627893556Sym3KindInference&Let_1627894636Scrutinee_1627893556Sym4"Let_1627894589Scrutinee_1627893558&Let_1627894589Scrutinee_1627893558Sym03Let_1627894589Scrutinee_1627893558Sym0KindInference&Let_1627894589Scrutinee_1627893558Sym13Let_1627894589Scrutinee_1627893558Sym1KindInference&Let_1627894589Scrutinee_1627893558Sym23Let_1627894589Scrutinee_1627893558Sym2KindInference&Let_1627894589Scrutinee_1627893558Sym33Let_1627894589Scrutinee_1627893558Sym3KindInference&Let_1627894589Scrutinee_1627893558Sym4Let_1627894569XsLet_1627894569XsSym0!Let_1627894569XsSym0KindInferenceLet_1627894569XsSym1!Let_1627894569XsSym1KindInferenceLet_1627894569XsSym2!Let_1627894569XsSym2KindInferenceLet_1627894569XsSym3!Let_1627894569XsSym3KindInferenceLet_1627894569XsSym4Let_1627894407X_1627894415Let_1627894407X_1627894409Let_1627894407YsLet_1627894407S''Let_1627894407YLet_1627894407S'Let_1627894407X_1627894415Sym0+Let_1627894407X_1627894415Sym0KindInferenceLet_1627894407X_1627894415Sym1+Let_1627894407X_1627894415Sym1KindInferenceLet_1627894407X_1627894415Sym2+Let_1627894407X_1627894415Sym2KindInferenceLet_1627894407X_1627894415Sym3+Let_1627894407X_1627894415Sym3KindInferenceLet_1627894407X_1627894415Sym4Let_1627894407X_1627894409Sym0+Let_1627894407X_1627894409Sym0KindInferenceLet_1627894407X_1627894409Sym1+Let_1627894407X_1627894409Sym1KindInferenceLet_1627894407X_1627894409Sym2+Let_1627894407X_1627894409Sym2KindInferenceLet_1627894407X_1627894409Sym3+Let_1627894407X_1627894409Sym3KindInferenceLet_1627894407X_1627894409Sym4Let_1627894407YsSym0!Let_1627894407YsSym0KindInferenceLet_1627894407YsSym1!Let_1627894407YsSym1KindInferenceLet_1627894407YsSym2!Let_1627894407YsSym2KindInferenceLet_1627894407YsSym3!Let_1627894407YsSym3KindInferenceLet_1627894407YsSym4Let_1627894407S''Sym0"Let_1627894407S''Sym0KindInferenceLet_1627894407S''Sym1"Let_1627894407S''Sym1KindInferenceLet_1627894407S''Sym2"Let_1627894407S''Sym2KindInferenceLet_1627894407S''Sym3"Let_1627894407S''Sym3KindInferenceLet_1627894407S''Sym4Let_1627894407YSym0 Let_1627894407YSym0KindInferenceLet_1627894407YSym1 Let_1627894407YSym1KindInferenceLet_1627894407YSym2 Let_1627894407YSym2KindInferenceLet_1627894407YSym3 Let_1627894407YSym3KindInferenceLet_1627894407YSym4Let_1627894407S'Sym0!Let_1627894407S'Sym0KindInferenceLet_1627894407S'Sym1!Let_1627894407S'Sym1KindInferenceLet_1627894407S'Sym2!Let_1627894407S'Sym2KindInferenceLet_1627894407S'Sym3!Let_1627894407S'Sym3KindInferenceLet_1627894407S'Sym4Let_1627894240X_1627894248Let_1627894240X_1627894242Let_1627894240YLet_1627894240S''Let_1627894240YsLet_1627894240S'Let_1627894240X_1627894248Sym0+Let_1627894240X_1627894248Sym0KindInferenceLet_1627894240X_1627894248Sym1+Let_1627894240X_1627894248Sym1KindInferenceLet_1627894240X_1627894248Sym2+Let_1627894240X_1627894248Sym2KindInferenceLet_1627894240X_1627894248Sym3+Let_1627894240X_1627894248Sym3KindInferenceLet_1627894240X_1627894248Sym4Let_1627894240X_1627894242Sym0+Let_1627894240X_1627894242Sym0KindInferenceLet_1627894240X_1627894242Sym1+Let_1627894240X_1627894242Sym1KindInferenceLet_1627894240X_1627894242Sym2+Let_1627894240X_1627894242Sym2KindInferenceLet_1627894240X_1627894242Sym3+Let_1627894240X_1627894242Sym3KindInferenceLet_1627894240X_1627894242Sym4Let_1627894240YSym0 Let_1627894240YSym0KindInferenceLet_1627894240YSym1 Let_1627894240YSym1KindInferenceLet_1627894240YSym2 Let_1627894240YSym2KindInferenceLet_1627894240YSym3 Let_1627894240YSym3KindInferenceLet_1627894240YSym4Let_1627894240S''Sym0"Let_1627894240S''Sym0KindInferenceLet_1627894240S''Sym1"Let_1627894240S''Sym1KindInferenceLet_1627894240S''Sym2"Let_1627894240S''Sym2KindInferenceLet_1627894240S''Sym3"Let_1627894240S''Sym3KindInferenceLet_1627894240S''Sym4Let_1627894240YsSym0!Let_1627894240YsSym0KindInferenceLet_1627894240YsSym1!Let_1627894240YsSym1KindInferenceLet_1627894240YsSym2!Let_1627894240YsSym2KindInferenceLet_1627894240YsSym3!Let_1627894240YsSym3KindInferenceLet_1627894240YsSym4Let_1627894240S'Sym0!Let_1627894240S'Sym0KindInferenceLet_1627894240S'Sym1!Let_1627894240S'Sym1KindInferenceLet_1627894240S'Sym2!Let_1627894240S'Sym2KindInferenceLet_1627894240S'Sym3!Let_1627894240S'Sym3KindInferenceLet_1627894240S'Sym4"Let_1627894204Scrutinee_1627893564&Let_1627894204Scrutinee_1627893564Sym03Let_1627894204Scrutinee_1627893564Sym0KindInference&Let_1627894204Scrutinee_1627893564Sym13Let_1627894204Scrutinee_1627893564Sym1KindInference&Let_1627894204Scrutinee_1627893564Sym2"Let_1627894182Scrutinee_1627893566&Let_1627894182Scrutinee_1627893566Sym03Let_1627894182Scrutinee_1627893566Sym0KindInference&Let_1627894182Scrutinee_1627893566Sym1"Let_1627894155Scrutinee_1627893568&Let_1627894155Scrutinee_1627893568Sym03Let_1627894155Scrutinee_1627893568Sym0KindInference&Let_1627894155Scrutinee_1627893568Sym1Lambda_1627893943Sym0"Lambda_1627893943Sym0KindInferenceLambda_1627893943Sym1"Lambda_1627893943Sym1KindInferenceLambda_1627893943Sym2"Lambda_1627893943Sym2KindInferenceLambda_1627893943Sym3Lambda_1627893909Sym0"Lambda_1627893909Sym0KindInferenceLambda_1627893909Sym1"Lambda_1627893909Sym1KindInferenceLambda_1627893909Sym2"Lambda_1627893909Sym2KindInferenceLambda_1627893909Sym3Lambda_1627893873Sym0"Lambda_1627893873Sym0KindInferenceLambda_1627893873Sym1"Lambda_1627893873Sym1KindInferenceLambda_1627893873Sym2"Lambda_1627893873Sym2KindInferenceLambda_1627893873Sym3Lambda_1627893835Sym0"Lambda_1627893835Sym0KindInferenceLambda_1627893835Sym1"Lambda_1627893835Sym1KindInferenceLambda_1627893835Sym2"Lambda_1627893835Sym2KindInferenceLambda_1627893835Sym3Lambda_1627893795Sym0"Lambda_1627893795Sym0KindInferenceLambda_1627893795Sym1"Lambda_1627893795Sym1KindInferenceLambda_1627893795Sym2"Lambda_1627893795Sym2KindInferenceLambda_1627893795Sym3Lambda_1627893753Sym0"Lambda_1627893753Sym0KindInferenceLambda_1627893753Sym1"Lambda_1627893753Sym1KindInferenceLambda_1627893753Sym2"Lambda_1627893753Sym2KindInferenceLambda_1627893753Sym3"Let_1627893709Scrutinee_1627893594&Let_1627893709Scrutinee_1627893594Sym03Let_1627893709Scrutinee_1627893594Sym0KindInference&Let_1627893709Scrutinee_1627893594Sym13Let_1627893709Scrutinee_1627893594Sym1KindInference&Let_1627893709Scrutinee_1627893594Sym23Let_1627893709Scrutinee_1627893594Sym2KindInference&Let_1627893709Scrutinee_1627893594Sym33Let_1627893709Scrutinee_1627893594Sym3KindInference&Let_1627893709Scrutinee_1627893594Sym4"Let_1627893651Scrutinee_1627893596&Let_1627893651Scrutinee_1627893596Sym03Let_1627893651Scrutinee_1627893596Sym0KindInference&Let_1627893651Scrutinee_1627893596Sym13Let_1627893651Scrutinee_1627893596Sym1KindInference&Let_1627893651Scrutinee_1627893596Sym23Let_1627893651Scrutinee_1627893596Sym2KindInference&Let_1627893651Scrutinee_1627893596Sym33Let_1627893651Scrutinee_1627893596Sym3KindInference&Let_1627893651Scrutinee_1627893596Sym4Let_1627893631YsLet_1627893631YsSym0!Let_1627893631YsSym0KindInferenceLet_1627893631YsSym1!Let_1627893631YsSym1KindInferenceLet_1627893631YsSym2!Let_1627893631YsSym2KindInferenceLet_1627893631YsSym3!Let_1627893631YsSym3KindInferenceLet_1627893631YsSym4 sPrependToAllsNonEmptySubsequencesTFCo:R:Applyk[]HeadSym0l0Case_1628116999Case_1628117042Maybe_Sym0KindInferenceMaybe_Sym1KindInferenceMaybe_Sym2KindInferenceTFCo:R:Apply(->)kMaybe_Sym0l0IsJustSym0KindInferenceIsNothingSym0KindInferenceFromJustSym0KindInferenceFromMaybeSym0KindInferenceFromMaybeSym1KindInferenceMaybeToListSym0KindInferenceListToMaybeSym0KindInferenceCatMaybesSym0KindInferenceMapMaybeSym0KindInferenceMapMaybeSym1KindInference"Let_1628117033Scrutinee_1628116954&Let_1628117033Scrutinee_1628116954Sym03Let_1628117033Scrutinee_1628116954Sym0KindInference&Let_1628117033Scrutinee_1628116954Sym13Let_1628117033Scrutinee_1628116954Sym1KindInference&Let_1628117033Scrutinee_1628116954Sym2"Let_1628116985Scrutinee_1628116956&Let_1628116985Scrutinee_1628116956Sym03Let_1628116985Scrutinee_1628116956Sym0KindInference&Let_1628116985Scrutinee_1628116956Sym13Let_1628116985Scrutinee_1628116956Sym1KindInference&Let_1628116985Scrutinee_1628116956Sym23Let_1628116985Scrutinee_1628116956Sym2KindInference&Let_1628116985Scrutinee_1628116956Sym3Let_1628116971RsLet_1628116971RsSym0!Let_1628116971RsSym0KindInferenceLet_1628116971RsSym1!Let_1628116971RsSym1KindInferenceLet_1628116971RsSym2!Let_1628116971RsSym2KindInferenceLet_1628116971RsSym3!TFCo:R:ApplyBoolMaybeIsJustSym0l0Case_1628134923Case_1628134928Case_1628134991Case_1628134996Case_1628135473Case_1628135510Case_1628135516Case_1628135545Case_1628135550Lambda_1628135581Case_1628135644Case_1628135650Case_1628135696Case_1628135702Case_1628135704Case_1628135730Case_1628135762Case_1628135772Case_1628135803Case_1628135877Case_1628135909Case_1628135919Case_1628135950Case_1628136031Case_1628136049Lambda_1628136097Case_1628136122Case_1628136158Case_1628136190Case_1628136208Case_1628136213Lambda_1628136441Case_1628136445SelectElem_byGenericLengthSym0KindInferenceElemIndexSym0KindInferenceElemIndexSym1KindInferenceFindIndexSym0KindInferenceFindIndexSym1KindInferenceElemIndicesSym0KindInferenceElemIndicesSym1KindInferenceFindIndicesSym0KindInferenceFindIndicesSym1KindInferenceLengthSym0KindInferenceSumSym0KindInferenceProductSym0KindInference!GenericReplicateSym0KindInference!GenericReplicateSym1KindInferenceReplicateSym0KindInferenceReplicateSym1KindInferenceTransposeSym0KindInferenceGenericTakeSym0KindInferenceGenericTakeSym1KindInferenceGenericSplitAtSym0KindInferenceGenericSplitAtSym1KindInferenceSplitAtSym0KindInferenceSplitAtSym1KindInferenceTakeSym0KindInferenceTakeSym1KindInferenceGenericDropSym0KindInferenceGenericDropSym1KindInferenceDropSym0KindInferenceDropSym1KindInferenceTakeWhileSym0KindInferenceTakeWhileSym1KindInferenceDropWhileSym0KindInferenceDropWhileSym1KindInferenceDropWhileEndSym0KindInferenceDropWhileEndSym1KindInferenceGroupSym0KindInferenceGroupBySym0KindInferenceGroupBySym1KindInferenceSpanSym0KindInferenceSpanSym1KindInferenceBreakSym0KindInferenceBreakSym1KindInferenceStripPrefixSym0KindInferenceStripPrefixSym1KindInferenceStripPrefixSym2MaximumSym0KindInferenceMinimumSym0KindInferenceInsertSym0KindInferenceInsertSym1KindInferenceSortSym0KindInferenceLookupSym0KindInferenceLookupSym1KindInferenceFindSym0KindInferenceFindSym1KindInferenceIntersectSym0KindInferenceIntersectSym1KindInferenceIntersectBySym0KindInferenceIntersectBySym1KindInferenceIntersectBySym2KindInferenceIntersectBySym3FilterSym0KindInferenceFilterSym1KindInferencePartitionSym0KindInferencePartitionSym1KindInference SelectSym0SelectSym0KindInference SelectSym1SelectSym1KindInference SelectSym2SelectSym2KindInference SelectSym3GenericIndexSym0KindInferenceGenericIndexSym1KindInference:!!$###:!!$$###Zip4Sym0KindInferenceZip4Sym1KindInferenceZip4Sym2KindInferenceZip4Sym3KindInferenceZip5Sym0KindInferenceZip5Sym1KindInferenceZip5Sym2KindInferenceZip5Sym3KindInferenceZip5Sym4KindInferenceZip6Sym0KindInferenceZip6Sym1KindInferenceZip6Sym2KindInferenceZip6Sym3KindInferenceZip6Sym4KindInferenceZip6Sym5KindInferenceZip7Sym0KindInferenceZip7Sym1KindInferenceZip7Sym2KindInferenceZip7Sym3KindInferenceZip7Sym4KindInferenceZip7Sym5KindInferenceZip7Sym6KindInferenceZipWith4Sym0KindInferenceZipWith4Sym1KindInferenceZipWith4Sym2KindInferenceZipWith4Sym3KindInferenceZipWith4Sym4KindInference ZipWith4Sym5ZipWith5Sym0KindInferenceZipWith5Sym1KindInferenceZipWith5Sym2KindInferenceZipWith5Sym3KindInferenceZipWith5Sym4KindInferenceZipWith5Sym5KindInference ZipWith5Sym6ZipWith6Sym0KindInferenceZipWith6Sym1KindInferenceZipWith6Sym2KindInferenceZipWith6Sym3KindInferenceZipWith6Sym4KindInferenceZipWith6Sym5KindInferenceZipWith6Sym6KindInference ZipWith6Sym7ZipWith7Sym0KindInferenceZipWith7Sym1KindInferenceZipWith7Sym2KindInferenceZipWith7Sym3KindInferenceZipWith7Sym4KindInferenceZipWith7Sym5KindInferenceZipWith7Sym6KindInferenceZipWith7Sym7KindInference ZipWith7Sym8NubSym0KindInferenceUnionSym0KindInferenceUnionSym1KindInferenceUnionBySym0KindInferenceUnionBySym1KindInferenceUnionBySym2KindInferenceNubBySym0KindInferenceNubBySym1KindInference Elem_bySym0Elem_bySym0KindInference Elem_bySym1Elem_bySym1KindInference Elem_bySym2Elem_bySym2KindInference Elem_bySym3Lambda_1628136441Sym0"Lambda_1628136441Sym0KindInferenceLambda_1628136441Sym1"Lambda_1628136441Sym1KindInferenceLambda_1628136441Sym2"Lambda_1628136441Sym2KindInferenceLambda_1628136441Sym3Let_1628136416BuildListLet_1628136416BuildListSym0(Let_1628136416BuildListSym0KindInferenceLet_1628136416BuildListSym1(Let_1628136416BuildListSym1KindInferenceLet_1628136416BuildListSym2(Let_1628136416BuildListSym2KindInferenceLet_1628136416BuildListSym3(Let_1628136416BuildListSym3KindInferenceLet_1628136416BuildListSym4Let_1628136379Sum'Let_1628136379Sum'Sym0#Let_1628136379Sum'Sym0KindInferenceLet_1628136379Sum'Sym1#Let_1628136379Sum'Sym1KindInferenceLet_1628136379Sum'Sym2#Let_1628136379Sum'Sym2KindInferenceLet_1628136379Sum'Sym3Let_1628136354ProdLet_1628136354ProdSym0#Let_1628136354ProdSym0KindInferenceLet_1628136354ProdSym1#Let_1628136354ProdSym1KindInferenceLet_1628136354ProdSym2#Let_1628136354ProdSym2KindInferenceLet_1628136354ProdSym3Let_1628136231XsLet_1628136231XsSym0!Let_1628136231XsSym0KindInferenceLet_1628136231XsSym1!Let_1628136231XsSym1KindInferenceLet_1628136231XsSym2Let_1628136163XsLet_1628136163XsSym0!Let_1628136163XsSym0KindInferenceLet_1628136163XsSym1!Let_1628136163XsSym1KindInferenceLet_1628136163XsSym2!Let_1628136163XsSym2KindInferenceLet_1628136163XsSym3!Let_1628136163XsSym3KindInferenceLet_1628136163XsSym4!Let_1628136163XsSym4KindInferenceLet_1628136163XsSym5Lambda_1628136097Sym0"Lambda_1628136097Sym0KindInferenceLambda_1628136097Sym1"Lambda_1628136097Sym1KindInferenceLambda_1628136097Sym2"Lambda_1628136097Sym2KindInferenceLambda_1628136097Sym3"Lambda_1628136097Sym3KindInferenceLambda_1628136097Sym4"Let_1628136102Scrutinee_1628134828&Let_1628136102Scrutinee_1628134828Sym03Let_1628136102Scrutinee_1628134828Sym0KindInference&Let_1628136102Scrutinee_1628134828Sym13Let_1628136102Scrutinee_1628134828Sym1KindInference&Let_1628136102Scrutinee_1628134828Sym23Let_1628136102Scrutinee_1628134828Sym2KindInference&Let_1628136102Scrutinee_1628134828Sym33Let_1628136102Scrutinee_1628134828Sym3KindInference&Let_1628136102Scrutinee_1628134828Sym4Let_1628136023X_1628136025Let_1628136023ZsLet_1628136023YsLet_1628136023X_1628136025Sym0+Let_1628136023X_1628136025Sym0KindInferenceLet_1628136023X_1628136025Sym1+Let_1628136023X_1628136025Sym1KindInferenceLet_1628136023X_1628136025Sym2+Let_1628136023X_1628136025Sym2KindInferenceLet_1628136023X_1628136025Sym3Let_1628136023ZsSym0!Let_1628136023ZsSym0KindInferenceLet_1628136023ZsSym1!Let_1628136023ZsSym1KindInferenceLet_1628136023ZsSym2!Let_1628136023ZsSym2KindInferenceLet_1628136023ZsSym3Let_1628136023YsSym0!Let_1628136023YsSym0KindInferenceLet_1628136023YsSym1!Let_1628136023YsSym1KindInferenceLet_1628136023YsSym2!Let_1628136023YsSym2KindInferenceLet_1628136023YsSym3Let_1628135911X_1628135913Let_1628135911ZsLet_1628135911YsLet_1628135911X_1628135913Sym0+Let_1628135911X_1628135913Sym0KindInferenceLet_1628135911X_1628135913Sym1+Let_1628135911X_1628135913Sym1KindInferenceLet_1628135911X_1628135913Sym2+Let_1628135911X_1628135913Sym2KindInferenceLet_1628135911X_1628135913Sym3+Let_1628135911X_1628135913Sym3KindInferenceLet_1628135911X_1628135913Sym4+Let_1628135911X_1628135913Sym4KindInferenceLet_1628135911X_1628135913Sym5Let_1628135911ZsSym0!Let_1628135911ZsSym0KindInferenceLet_1628135911ZsSym1!Let_1628135911ZsSym1KindInferenceLet_1628135911ZsSym2!Let_1628135911ZsSym2KindInferenceLet_1628135911ZsSym3!Let_1628135911ZsSym3KindInferenceLet_1628135911ZsSym4!Let_1628135911ZsSym4KindInferenceLet_1628135911ZsSym5Let_1628135911YsSym0!Let_1628135911YsSym0KindInferenceLet_1628135911YsSym1!Let_1628135911YsSym1KindInferenceLet_1628135911YsSym2!Let_1628135911YsSym2KindInferenceLet_1628135911YsSym3!Let_1628135911YsSym3KindInferenceLet_1628135911YsSym4!Let_1628135911YsSym4KindInferenceLet_1628135911YsSym5Let_1628135882XsLet_1628135882XsSym0!Let_1628135882XsSym0KindInferenceLet_1628135882XsSym1!Let_1628135882XsSym1KindInferenceLet_1628135882XsSym2!Let_1628135882XsSym2KindInferenceLet_1628135882XsSym3!Let_1628135882XsSym3KindInferenceLet_1628135882XsSym4!Let_1628135882XsSym4KindInferenceLet_1628135882XsSym5Let_1628135873XsLet_1628135873XsSym0Let_1628135764X_1628135766Let_1628135764ZsLet_1628135764YsLet_1628135764X_1628135766Sym0+Let_1628135764X_1628135766Sym0KindInferenceLet_1628135764X_1628135766Sym1+Let_1628135764X_1628135766Sym1KindInferenceLet_1628135764X_1628135766Sym2+Let_1628135764X_1628135766Sym2KindInferenceLet_1628135764X_1628135766Sym3+Let_1628135764X_1628135766Sym3KindInferenceLet_1628135764X_1628135766Sym4+Let_1628135764X_1628135766Sym4KindInferenceLet_1628135764X_1628135766Sym5Let_1628135764ZsSym0!Let_1628135764ZsSym0KindInferenceLet_1628135764ZsSym1!Let_1628135764ZsSym1KindInferenceLet_1628135764ZsSym2!Let_1628135764ZsSym2KindInferenceLet_1628135764ZsSym3!Let_1628135764ZsSym3KindInferenceLet_1628135764ZsSym4!Let_1628135764ZsSym4KindInferenceLet_1628135764ZsSym5Let_1628135764YsSym0!Let_1628135764YsSym0KindInferenceLet_1628135764YsSym1!Let_1628135764YsSym1KindInferenceLet_1628135764YsSym2!Let_1628135764YsSym2KindInferenceLet_1628135764YsSym3!Let_1628135764YsSym3KindInferenceLet_1628135764YsSym4!Let_1628135764YsSym4KindInferenceLet_1628135764YsSym5Let_1628135735XsLet_1628135735XsSym0!Let_1628135735XsSym0KindInferenceLet_1628135735XsSym1!Let_1628135735XsSym1KindInferenceLet_1628135735XsSym2!Let_1628135735XsSym2KindInferenceLet_1628135735XsSym3!Let_1628135735XsSym3KindInferenceLet_1628135735XsSym4!Let_1628135735XsSym4KindInferenceLet_1628135735XsSym5Let_1628135726XsLet_1628135726XsSym0Lambda_1628135581Sym0"Lambda_1628135581Sym0KindInferenceLambda_1628135581Sym1"Lambda_1628135581Sym1KindInferenceLambda_1628135581Sym2"Lambda_1628135581Sym2KindInferenceLambda_1628135581Sym3"Lambda_1628135581Sym3KindInferenceLambda_1628135581Sym4Let_1628134972Nub'Let_1628134972Nub'Sym0#Let_1628134972Nub'Sym0KindInferenceLet_1628134972Nub'Sym1#Let_1628134972Nub'Sym1KindInferenceLet_1628134972Nub'Sym2#Let_1628134972Nub'Sym2KindInferenceLet_1628134972Nub'Sym3Let_1628134898NubBy'Let_1628134898NubBy'Sym0%Let_1628134898NubBy'Sym0KindInferenceLet_1628134898NubBy'Sym1%Let_1628134898NubBy'Sym1KindInferenceLet_1628134898NubBy'Sym2%Let_1628134898NubBy'Sym2KindInferenceLet_1628134898NubBy'Sym3%Let_1628134898NubBy'Sym3KindInferenceLet_1628134898NubBy'Sym4"TFCo:R:Applyk[]GenericLengthSym0l0