3y               ! " # $ % & ' ( ) * + , - . / 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[\]^_`abcdefghijklmnopqrstuvwx- 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 y that holds only values of type  is holding no values.If  is uninhabited then any z 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;BHMTGenerate a new Unique:88None '(*+24=K;7(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 URTSPQRTSUNoneP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWNone *3=BKXYZ[\]^_`abcdefghijklm XYcdefghijkXYZ[\]^_`abcdefghijklmNone?Bnopqrstuvwxyz{|}~ denvwxyz|}~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[\]^_`abcdefgh28/8L !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh((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 iKind-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 i1jklmnopqrstuvwxyz { |}   ~            'lmnjopqkrstuvwxyz { |}   ~(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:;<=>?@ABCD9 !"#$%&'()*+,-./0123456789:;<=>?@ABCD9BA@?=<CD;>: !"#$%&'()*./0123456+,-789L !"#$%&'()*+,-./0123456789:;<=>?@ABCD-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(=HKM5EFGHIJKLMNOPQRSTUVWXYZ[\!8EFGHIJKLMNOPQRSTUVWXYZ[\8EJK\L[MZNYOXFGHIPQRSTUVW'EFGHIJKLMNOPQRSTUVWXYZ[\)(C) 2014 Jan StolarekBSD-style (see LICENSE)jan.stolarek@p.lodz.pl experimental non-portableNoneEFGHIKLMNOPQRSTUVWEKLMNOFGHIPQRSTUVW(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(=HKM ]^_`abcdefghijklmnopqrsH8nopqrstuvwxyz{|}~]^_`abcdefghijklmnopqrsA8wn^r_q`p]saoxyz{|}~opqrstuvefghijklbcdmn]^_`abcdefghijklmnopqrs*(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone4opqrstuvxyz{|}~]^_`abcdefghijklmn4^_`]axyz{|}~opqrstuvefghijklbcdmn(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(=JKMtuvwx2 !"#$%&'()*+,-./0123456789tuvwx2t !"#$%&'()*./0123456uvwx+,-789tuvwx-(C) 2013-2014 Richard Eisenberg, Jan StolarekBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNone!"'(3=HJKM     yz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU V  W X YZ[\]^_`abcd !e"f#g$%h&i'j()k*l+m,no-p./q01r23s45t67u89v:w;<x=y>z?@{A|BC}D~EF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz8 !"#$%&'(@AByz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz8@~zyxwvAtrsqpjhkiBgfedcy}b`a_^]\[ZXWuYVUTSRQPONMLKJnIoHGlm('$%& !"#z{|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF`     yz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU V  W X YZ[\]^_`abcd !e"f#g$%h&i'j()k*l+m,no-p./q01r23s45t67u89v:w;<x=y>z?@{A|BC}D~EF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~GHIJKLMNOPQRSTUVWXYZ[\]^_`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:;<=>?@ABCDEFGHIJ]^_`bcdefghijklpqrsyz{|}~ !"#$%&'()*+,-.OPQRSTUV^_`abcdefgjktvwxyz{|}~,8wn ?=<CD;>:A@~zyxwvtjkBgdcy}bfe`a_^VUTSRQPO{EJ^r_q`p]s |}~FGHIxyz{|}~opqrstuvefghijklbcd)*./0123456+,-789$%&(' !"#z{| !"#$%&'()*+,-.(C) 2014 Jan StolarekBSD-style (see LICENSE)%Jan Stolarek (jan.stolarek@p.lodz.pl) experimental non-portableNone!"'(=HJKMUe       ! " #$ % &' ( )* + , - . /0 1 2       3 4 56 7 89 : ; < => ? @ A !B "CD #E $F %G &H 'I (JK )L *M +N ,O -P .Q /RS 0T 1U 2V 3W 4 5X 6Y 7Z 8[ 9\ :] ; <^ =_ >` ?a @b Ac Bd C De Ef Fg Gh Hi Ij Jk Kl L Mm Nno Op Pqr Qs Rt Suv Tw Ux 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 : !"#$%&'(yz{|~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx~y('$%& !"#z{|      !"#$%&'()*+,-./0123456789:;'() <=>?*+,@ABCDEF     !"#$%&-./0126789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnvwxopqrstu345       ! " #$ % &' ( )* + , - . /0 1 2       3 4 56 7 89 : ; < => ? @ A !B "CD #E $F %G &H 'I (JK )L *M +N ,O -P .Q /RS 0T 1U 2V 3W 4 5X 6Y 7Z 8[ 9\ :] ; <^ =_ >` ?a @b Ac Bd C De Ef Fg Gh Hi Ij Jk Kl L Mm Nno Op Pqr Qs Rt Suv Tw Ux 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 :+(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-portableNoneKk `abcdopqrstuvxyz{|}~   !"#$%&'()*+,-./0123456789EFGHI]^_`bcdefghijkltuvwxyz{|~ !"#$%&'()*+,-.{|}~!"#-./678= {E^_`]t~y|}~FGHIxyz{|}~opqrstuvefghijklbcd  )*./0123456+,-789$%&(' !"#z{| !"#$%&'()*+,-.uvwx!"#-./678-(C) 2013 Richard EisenbergBSD-style (see LICENSE)%Richard Eisenberg (eir@cis.upenn.edu) experimental non-portableNoneKK#$,VWXYZ[\]^_opqrstuvxyz{|}~KWXYVZ][^\_,$#xyz{|}~opqrstuv ;./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 !."# $ % & ' ( ) * + , - . / 0212 3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !!!!!!""################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ $ $ $$$$$ !"#$%&'()*+,-.'$'%'/'0'1'2'3'4'5'6'789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.3      !"#$%&'()*+,-./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.1.2.1Data.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:$:$$:$$$NilSym0SMaybeJustSym0JustSym1 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_HeadLastTailInitNull 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$fEqVoid qNewUniqueQWithAuxQWArunQWA basicTypesboundedBasicTypesqReportWarning qReportError checkForRepcheckForRepInDeclstysOfConFieldsextractNameArgsextractNameTypesisUpcaseupcase toUpcaseStrnoPrefixlocase prefixUCName prefixLCName suffixNameuniquePrefixesextractTvbKindextractTvbName inferKindunravelravel countArgsaddStar addStar_maybefoldTypefoldExpisVarKisFunTy orIfEmpty emptyMatches multiCase wrapDesugarcomp1comp2evalWithoutAux evalForAux evalForPair addBinding addElement concatMapMlistifyfstOf3liftFstliftSndsnocView partitionWithpartitionWithMpartitionLetDecs mapAndUnzip3M isHsLetter$fDsMonadQWithAux$fQuasiQWithAux ULetDecEnv ALetDecEnv LetDecEnv lde_defns lde_types lde_infix lde_proms ULetDecRHSUValue UFunction ALetDecRHSAValue AFunctionIfAnn Unannotated AnnotatedAnnotationFlagADClauseADMatchADExpADSigEADLetEADCaseEADLamEADAppEADLitEADConEADVarEPartitionedDecsPDecs 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_boundpr_local_decls LetExpansions emptyPrEnvliftPrM allLocalsemitDecs emitDecsM lambdaBindletBind lookupVarEpromoteM promoteM_ promoteMDecs $fDsMonadPrM $fQuasiPrMSgMSgEnv sg_let_bindssg_local_decls emptySgEnvliftSgMbindLetsbindTyVarsClause bindTyVars lookupConElookup_var_con wrapSingFun wrapUnSingFunsingM singDecsM $fDsMonadSgM $fQuasiSgMmkEqTypeInstancemkOrdTypeInstance mkOrdTySynEqnmkBoundedTypeInstance promoteType defunInfobuildDefunSymsbuildDefunSymsDataDdefunctionalize buildTyFunbuildTyFun_maybe tyFunArityisTyFun ravelTyFun promoteInfo promoteDecspromoteDataDecspromoteLetDecspromoteDataDecpromoteClassDecpromoteInstanceDec 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_1627532217Equals_1627532230Equals_1627532249Equals_1627532266Equals_1627532273Equals_1627532280Equals_1627532289Equals_1627532309Equals_1627532335Equals_1627532367Equals_1627532405Equals_1627532449:/=$###:/=$$###:==$###:==$$###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_1627544291Case_1627544301Case_1627544326Case_1627544350Case_1627544374Case_1627544398Case_1627544422Case_1627544445 CaseOrdering!Let1627544437Scrutinee_1627544206%Let1627544437Scrutinee_1627544206Sym02Let1627544437Scrutinee_1627544206Sym0KindInference%Let1627544437Scrutinee_1627544206Sym12Let1627544437Scrutinee_1627544206Sym1KindInference%Let1627544437Scrutinee_1627544206Sym2!Let1627544414Scrutinee_1627544204%Let1627544414Scrutinee_1627544204Sym02Let1627544414Scrutinee_1627544204Sym0KindInference%Let1627544414Scrutinee_1627544204Sym12Let1627544414Scrutinee_1627544204Sym1KindInference%Let1627544414Scrutinee_1627544204Sym2!Let1627544390Scrutinee_1627544198%Let1627544390Scrutinee_1627544198Sym02Let1627544390Scrutinee_1627544198Sym0KindInference%Let1627544390Scrutinee_1627544198Sym12Let1627544390Scrutinee_1627544198Sym1KindInference%Let1627544390Scrutinee_1627544198Sym2!Let1627544366Scrutinee_1627544200%Let1627544366Scrutinee_1627544200Sym02Let1627544366Scrutinee_1627544200Sym0KindInference%Let1627544366Scrutinee_1627544200Sym12Let1627544366Scrutinee_1627544200Sym1KindInference%Let1627544366Scrutinee_1627544200Sym2!Let1627544342Scrutinee_1627544202%Let1627544342Scrutinee_1627544202Sym02Let1627544342Scrutinee_1627544202Sym0KindInference%Let1627544342Scrutinee_1627544202Sym12Let1627544342Scrutinee_1627544202Sym1KindInference%Let1627544342Scrutinee_1627544202Sym2!Let1627544318Scrutinee_1627544196%Let1627544318Scrutinee_1627544196Sym02Let1627544318Scrutinee_1627544196Sym0KindInference%Let1627544318Scrutinee_1627544196Sym12Let1627544318Scrutinee_1627544196Sym1KindInference%Let1627544318Scrutinee_1627544196Sym2!Let1627544293Scrutinee_1627544194%Let1627544293Scrutinee_1627544194Sym02Let1627544293Scrutinee_1627544194Sym0KindInference%Let1627544293Scrutinee_1627544194Sym12Let1627544293Scrutinee_1627544194Sym1KindInference%Let1627544293Scrutinee_1627544194Sym2!Let1627544283Scrutinee_1627544192%Let1627544283Scrutinee_1627544192Sym02Let1627544283Scrutinee_1627544192Sym0KindInference%Let1627544283Scrutinee_1627544192Sym12Let1627544283Scrutinee_1627544192Sym1KindInference%Let1627544283Scrutinee_1627544192Sym2MinSym0KindInferenceMinSym1KindInferenceMaxSym0KindInferenceMaxSym1KindInference:<=$###:<=$$###:>$###:>$$###:>=$###:>=$$###:<$###:<$$###CompareSym0KindInferenceCompareSym1KindInferenceTFCo:R:CaseOrderingkGTlteqgtTFCo:R:CaseOrderingkEQlteqgtTFCo:R:CaseOrderingkLTlteqgt8TFCo:R:Apply(->)kLet1627544437Scrutinee_1627544206Sym0l0ThenCmpSym0KindInferenceThenCmpSym1KindInference%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_1627560605FoldrSym0KindInferenceFoldrSym1KindInferenceFoldrSym2KindInferenceMapSym0KindInferenceMapSym1KindInference:++$###:++$$###:++$$$IdSym0KindInferenceAsTypeOfSym0KindInferenceAsTypeOfSym1KindInferenceConstSym0KindInferenceConstSym1KindInference:.$###:.$$###:.$$$###:.$$$$FlipSym0KindInferenceFlipSym1KindInferenceFlipSym2KindInferenceFlipSym3SeqSym0KindInferenceSeqSym1KindInferenceLet1627560705GoLet1627560705GoSym0 Let1627560705GoSym0KindInferenceLet1627560705GoSym1 Let1627560705GoSym1KindInferenceLet1627560705GoSym2 Let1627560705GoSym2KindInferenceLet1627560705GoSym3 Let1627560705GoSym3KindInferenceLet1627560705GoSym4Lambda_1627560605Sym0"Lambda_1627560605Sym0KindInferenceLambda_1627560605Sym1"Lambda_1627560605Sym1KindInferenceLambda_1627560605Sym2"Lambda_1627560605Sym2KindInferenceLambda_1627560605Sym3"Lambda_1627560605Sym3KindInferenceLambda_1627560605Sym4TFCo: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!PartitionEithersSym0KindInferencePartitionEithersSym1IsLeftSym0KindInferenceIsRightSym0KindInferenceLet1627572962LeftLet1627572962RightLet1627572962LeftSym0"Let1627572962LeftSym0KindInferenceLet1627572962LeftSym1"Let1627572962LeftSym1KindInferenceLet1627572962LeftSym2"Let1627572962LeftSym2KindInferenceLet1627572962LeftSym3Let1627572962RightSym0#Let1627572962RightSym0KindInferenceLet1627572962RightSym1#Let1627572962RightSym1KindInferenceLet1627572962RightSym2#Let1627572962RightSym2KindInferenceLet1627572962RightSym3TFCo:R:Apply[][]LeftsSym0l0UncurrySym0KindInferenceUncurrySym1KindInferenceFstSym0KindInferenceSndSym0KindInferenceCurrySym0KindInferenceCurrySym1KindInferenceCurrySym2KindInferenceSwapSym0KindInference!TFCo:R:Apply(->)(->)UncurrySym0l0Case_1627585987Case_1627585990UntilSym0KindInferenceUntilSym1KindInferenceUntilSym2KindInferenceLet1627585966GoLet1627585966GoSym0 Let1627585966GoSym0KindInferenceLet1627585966GoSym1 Let1627585966GoSym1KindInferenceLet1627585966GoSym2 Let1627585966GoSym2KindInferenceLet1627585966GoSym3 Let1627585966GoSym3KindInferenceLet1627585966GoSym4TFCo:R:Apply(->)(->)UntilSym0l0Case_1627595783Case_1627595840Lambda_1627595864Case_1627595869Lambda_1627595906Case_1627595911Lambda_1627595946Case_1627595951Lambda_1627595984Case_1627595989Lambda_1627596020Case_1627596025Lambda_1627596054Case_1627596059Case_1627596270Case_1627596296Case_1627596321Case_1627596361Case_1627596385Case_1627596409Case_1627596433Case_1627596527Case_1627596551Case_1627596575Case_1627596599Case_1627596713Case_1627596759Case_1627596796Case_1627597137Case_1627597223Case_1627597347Case_1627597405Case_1627597557Any_Sym0KindInferenceAny_Sym1KindInferenceTFCo:R:Apply(->)(->)Any_Sym0l0NonEmptySubsequences PrependToAllHeadSym0KindInferenceLastSym0KindInferenceTailSym0KindInferenceInitSym0KindInferenceNullSym0KindInferenceIsSuffixOfSym0KindInferenceIsSuffixOfSym1KindInferenceReverseSym0KindInferenceIntercalateSym0KindInferenceIntercalateSym1KindInferenceIntersperseSym0KindInferenceIntersperseSym1KindInferenceSubsequencesSym0KindInferenceNonEmptySubsequencesSym0%NonEmptySubsequencesSym0KindInferenceNonEmptySubsequencesSym1PrependToAllSym0PrependToAllSym0KindInferencePrependToAllSym1PrependToAllSym1KindInferencePrependToAllSym2PermutationsSym0KindInferenceDeleteFirstsBySym0KindInferenceDeleteFirstsBySym1KindInferenceDeleteFirstsBySym2KindInference:\\$###:\\$$###MinimumBySym0KindInferenceMinimumBySym1KindInferenceMaximumBySym0KindInferenceMaximumBySym1KindInferenceFoldl1Sym0KindInferenceFoldl1Sym1KindInferenceFoldlSym0KindInferenceFoldlSym1KindInferenceFoldlSym2KindInferenceFoldl1'Sym0KindInferenceFoldl1'Sym1KindInferenceFoldl'Sym0KindInferenceFoldl'Sym1KindInferenceFoldl'Sym2KindInferenceFoldr1Sym0KindInferenceFoldr1Sym1KindInferenceConcatSym0KindInferenceConcatMapSym0KindInferenceConcatMapSym1KindInferenceAndSym0KindInferenceOrSym0KindInferenceAllSym0KindInferenceAllSym1KindInferenceScanl1Sym0KindInferenceScanl1Sym1KindInferenceScanlSym0KindInferenceScanlSym1KindInferenceScanlSym2KindInferenceScanrSym0KindInferenceScanrSym1KindInferenceScanrSym2KindInferenceScanr1Sym0KindInferenceScanr1Sym1KindInferenceMapAccumLSym0KindInferenceMapAccumLSym1KindInferenceMapAccumLSym2KindInferenceMapAccumRSym0KindInferenceMapAccumRSym1KindInferenceMapAccumRSym2KindInferenceUnfoldrSym0KindInferenceUnfoldrSym1KindInferenceInitsSym0KindInferenceIsInfixOfSym0KindInferenceIsInfixOfSym1KindInferenceTailsSym0KindInferenceIsPrefixOfSym0KindInferenceIsPrefixOfSym1KindInferenceElemSym0KindInferenceElemSym1KindInferenceNotElemSym0KindInferenceNotElemSym1KindInferenceZipSym0KindInferenceZipSym1KindInferenceZip3Sym0KindInferenceZip3Sym1KindInferenceZip3Sym2KindInferenceZipWithSym0KindInferenceZipWithSym1KindInferenceZipWithSym2KindInferenceZipWith3Sym0KindInferenceZipWith3Sym1KindInferenceZipWith3Sym2KindInferenceZipWith3Sym3KindInference ZipWith3Sym4UnzipSym0KindInferenceUnzip3Sym0KindInferenceUnzip4Sym0KindInferenceUnzip5Sym0KindInferenceUnzip6Sym0KindInferenceUnzip7Sym0KindInferenceDeleteSym0KindInferenceDeleteSym1KindInferenceDeleteBySym0KindInferenceDeleteBySym1KindInferenceDeleteBySym2KindInferenceSortBySym0KindInferenceSortBySym1KindInferenceInsertBySym0KindInferenceInsertBySym1KindInferenceInsertBySym2KindInferenceLet1627597784Last'Let1627597784Last'Sym0#Let1627597784Last'Sym0KindInferenceLet1627597784Last'Sym1#Let1627597784Last'Sym1KindInferenceLet1627597784Last'Sym2#Let1627597784Last'Sym2KindInferenceLet1627597784Last'Sym3#Let1627597784Last'Sym3KindInferenceLet1627597784Last'Sym4Let1627597747Init'Let1627597747Init'Sym0#Let1627597747Init'Sym0KindInferenceLet1627597747Init'Sym1#Let1627597747Init'Sym1KindInferenceLet1627597747Init'Sym2#Let1627597747Init'Sym2KindInferenceLet1627597747Init'Sym3#Let1627597747Init'Sym3KindInferenceLet1627597747Init'Sym4Let1627597705RevLet1627597705RevSym0!Let1627597705RevSym0KindInferenceLet1627597705RevSym1!Let1627597705RevSym1KindInferenceLet1627597705RevSym2!Let1627597705RevSym2KindInferenceLet1627597705RevSym3Let1627597648FLet1627597648FSym0Let1627597648FSym0KindInferenceLet1627597648FSym1Let1627597648FSym1KindInferenceLet1627597648FSym2Let1627597648FSym2KindInferenceLet1627597648FSym3Let1627597648FSym3KindInferenceLet1627597648FSym4Let1627597269PermsLet1627597269PermsSym0#Let1627597269PermsSym0KindInferenceLet1627597269PermsSym1#Let1627597269PermsSym1KindInferenceLet1627597269PermsSym2#Let1627597269PermsSym2KindInferenceLet1627597269PermsSym3Let1627597288InterleaveLet1627597288Interleave'Let1627597288InterleaveSym0(Let1627597288InterleaveSym0KindInferenceLet1627597288InterleaveSym1(Let1627597288InterleaveSym1KindInferenceLet1627597288InterleaveSym2(Let1627597288InterleaveSym2KindInferenceLet1627597288InterleaveSym3(Let1627597288InterleaveSym3KindInferenceLet1627597288InterleaveSym4(Let1627597288InterleaveSym4KindInferenceLet1627597288InterleaveSym5(Let1627597288InterleaveSym5KindInferenceLet1627597288InterleaveSym6Let1627597288Interleave'Sym0)Let1627597288Interleave'Sym0KindInferenceLet1627597288Interleave'Sym1)Let1627597288Interleave'Sym1KindInferenceLet1627597288Interleave'Sym2)Let1627597288Interleave'Sym2KindInferenceLet1627597288Interleave'Sym3)Let1627597288Interleave'Sym3KindInferenceLet1627597288Interleave'Sym4)Let1627597288Interleave'Sym4KindInferenceLet1627597288Interleave'Sym5)Let1627597288Interleave'Sym5KindInferenceLet1627597288Interleave'Sym6)Let1627597288Interleave'Sym6KindInferenceLet1627597288Interleave'Sym7Let1627597552X_1627597553Let1627597552ZsLet1627597552X_1627597553Sym0*Let1627597552X_1627597553Sym0KindInferenceLet1627597552X_1627597553Sym1*Let1627597552X_1627597553Sym1KindInferenceLet1627597552X_1627597553Sym2*Let1627597552X_1627597553Sym2KindInferenceLet1627597552X_1627597553Sym3*Let1627597552X_1627597553Sym3KindInferenceLet1627597552X_1627597553Sym4*Let1627597552X_1627597553Sym4KindInferenceLet1627597552X_1627597553Sym5*Let1627597552X_1627597553Sym5KindInferenceLet1627597552X_1627597553Sym6Let1627597552ZsSym0 Let1627597552ZsSym0KindInferenceLet1627597552ZsSym1 Let1627597552ZsSym1KindInferenceLet1627597552ZsSym2 Let1627597552ZsSym2KindInferenceLet1627597552ZsSym3 Let1627597552ZsSym3KindInferenceLet1627597552ZsSym4 Let1627597552ZsSym4KindInferenceLet1627597552ZsSym5 Let1627597552ZsSym5KindInferenceLet1627597552ZsSym6Let1627597340X_1627597341Let1627597340ZsLet1627597340UsLet1627597340X_1627597341Sym0*Let1627597340X_1627597341Sym0KindInferenceLet1627597340X_1627597341Sym1*Let1627597340X_1627597341Sym1KindInferenceLet1627597340X_1627597341Sym2*Let1627597340X_1627597341Sym2KindInferenceLet1627597340X_1627597341Sym3*Let1627597340X_1627597341Sym3KindInferenceLet1627597340X_1627597341Sym4*Let1627597340X_1627597341Sym4KindInferenceLet1627597340X_1627597341Sym5*Let1627597340X_1627597341Sym5KindInferenceLet1627597340X_1627597341Sym6*Let1627597340X_1627597341Sym6KindInferenceLet1627597340X_1627597341Sym7*Let1627597340X_1627597341Sym7KindInferenceLet1627597340X_1627597341Sym8Let1627597340ZsSym0 Let1627597340ZsSym0KindInferenceLet1627597340ZsSym1 Let1627597340ZsSym1KindInferenceLet1627597340ZsSym2 Let1627597340ZsSym2KindInferenceLet1627597340ZsSym3 Let1627597340ZsSym3KindInferenceLet1627597340ZsSym4 Let1627597340ZsSym4KindInferenceLet1627597340ZsSym5 Let1627597340ZsSym5KindInferenceLet1627597340ZsSym6 Let1627597340ZsSym6KindInferenceLet1627597340ZsSym7 Let1627597340ZsSym7KindInferenceLet1627597340ZsSym8Let1627597340UsSym0 Let1627597340UsSym0KindInferenceLet1627597340UsSym1 Let1627597340UsSym1KindInferenceLet1627597340UsSym2 Let1627597340UsSym2KindInferenceLet1627597340UsSym3 Let1627597340UsSym3KindInferenceLet1627597340UsSym4 Let1627597340UsSym4KindInferenceLet1627597340UsSym5 Let1627597340UsSym5KindInferenceLet1627597340UsSym6 Let1627597340UsSym6KindInferenceLet1627597340UsSym7 Let1627597340UsSym7KindInferenceLet1627597340UsSym8Let1627597167MinByLet1627597167MinBySym0#Let1627597167MinBySym0KindInferenceLet1627597167MinBySym1#Let1627597167MinBySym1KindInferenceLet1627597167MinBySym2#Let1627597167MinBySym2KindInferenceLet1627597167MinBySym3#Let1627597167MinBySym3KindInferenceLet1627597167MinBySym4#Let1627597167MinBySym4KindInferenceLet1627597167MinBySym5!Let1627597197Scrutinee_1627595718%Let1627597197Scrutinee_1627595718Sym02Let1627597197Scrutinee_1627595718Sym0KindInference%Let1627597197Scrutinee_1627595718Sym12Let1627597197Scrutinee_1627595718Sym1KindInference%Let1627597197Scrutinee_1627595718Sym22Let1627597197Scrutinee_1627595718Sym2KindInference%Let1627597197Scrutinee_1627595718Sym32Let1627597197Scrutinee_1627595718Sym3KindInference%Let1627597197Scrutinee_1627595718Sym42Let1627597197Scrutinee_1627595718Sym4KindInference%Let1627597197Scrutinee_1627595718Sym5Let1627597154XsLet1627597154XsSym0 Let1627597154XsSym0KindInferenceLet1627597154XsSym1 Let1627597154XsSym1KindInferenceLet1627597154XsSym2 Let1627597154XsSym2KindInferenceLet1627597154XsSym3Let1627597081MaxByLet1627597081MaxBySym0#Let1627597081MaxBySym0KindInferenceLet1627597081MaxBySym1#Let1627597081MaxBySym1KindInferenceLet1627597081MaxBySym2#Let1627597081MaxBySym2KindInferenceLet1627597081MaxBySym3#Let1627597081MaxBySym3KindInferenceLet1627597081MaxBySym4#Let1627597081MaxBySym4KindInferenceLet1627597081MaxBySym5!Let1627597111Scrutinee_1627595712%Let1627597111Scrutinee_1627595712Sym02Let1627597111Scrutinee_1627595712Sym0KindInference%Let1627597111Scrutinee_1627595712Sym12Let1627597111Scrutinee_1627595712Sym1KindInference%Let1627597111Scrutinee_1627595712Sym22Let1627597111Scrutinee_1627595712Sym2KindInference%Let1627597111Scrutinee_1627595712Sym32Let1627597111Scrutinee_1627595712Sym3KindInference%Let1627597111Scrutinee_1627595712Sym42Let1627597111Scrutinee_1627595712Sym4KindInference%Let1627597111Scrutinee_1627595712Sym5Let1627597068XsLet1627597068XsSym0 Let1627597068XsSym0KindInferenceLet1627597068XsSym1 Let1627597068XsSym1KindInferenceLet1627597068XsSym2 Let1627597068XsSym2KindInferenceLet1627597068XsSym3Let1627597010LgoLet1627597010LgoSym0!Let1627597010LgoSym0KindInferenceLet1627597010LgoSym1!Let1627597010LgoSym1KindInferenceLet1627597010LgoSym2!Let1627597010LgoSym2KindInferenceLet1627597010LgoSym3!Let1627597010LgoSym3KindInferenceLet1627597010LgoSym4!Let1627597010LgoSym4KindInferenceLet1627597010LgoSym5Let1627596913LgoLet1627596913LgoSym0!Let1627596913LgoSym0KindInferenceLet1627596913LgoSym1!Let1627596913LgoSym1KindInferenceLet1627596913LgoSym2!Let1627596913LgoSym2KindInferenceLet1627596913LgoSym3!Let1627596913LgoSym3KindInferenceLet1627596913LgoSym4!Let1627596913LgoSym4KindInferenceLet1627596913LgoSym5Let1627596945Z'Let1627596945Z'Sym0 Let1627596945Z'Sym0KindInferenceLet1627596945Z'Sym1 Let1627596945Z'Sym1KindInferenceLet1627596945Z'Sym2 Let1627596945Z'Sym2KindInferenceLet1627596945Z'Sym3 Let1627596945Z'Sym3KindInferenceLet1627596945Z'Sym4 Let1627596945Z'Sym4KindInferenceLet1627596945Z'Sym5 Let1627596945Z'Sym5KindInferenceLet1627596945Z'Sym6Let1627596875XsLet1627596875XsSym0 Let1627596875XsSym0KindInferenceLet1627596875XsSym1 Let1627596875XsSym1KindInferenceLet1627596875XsSym2 Let1627596875XsSym2KindInferenceLet1627596875XsSym3 Let1627596875XsSym3KindInferenceLet1627596875XsSym4!Let1627596783Scrutinee_1627595668%Let1627596783Scrutinee_1627595668Sym02Let1627596783Scrutinee_1627595668Sym0KindInference%Let1627596783Scrutinee_1627595668Sym12Let1627596783Scrutinee_1627595668Sym1KindInference%Let1627596783Scrutinee_1627595668Sym22Let1627596783Scrutinee_1627595668Sym2KindInference%Let1627596783Scrutinee_1627595668Sym3!Let1627596740Scrutinee_1627595670%Let1627596740Scrutinee_1627595670Sym02Let1627596740Scrutinee_1627595670Sym0KindInference%Let1627596740Scrutinee_1627595670Sym12Let1627596740Scrutinee_1627595670Sym1KindInference%Let1627596740Scrutinee_1627595670Sym22Let1627596740Scrutinee_1627595670Sym2KindInference%Let1627596740Scrutinee_1627595670Sym32Let1627596740Scrutinee_1627595670Sym3KindInference%Let1627596740Scrutinee_1627595670Sym4!Let1627596694Scrutinee_1627595672%Let1627596694Scrutinee_1627595672Sym02Let1627596694Scrutinee_1627595672Sym0KindInference%Let1627596694Scrutinee_1627595672Sym12Let1627596694Scrutinee_1627595672Sym1KindInference%Let1627596694Scrutinee_1627595672Sym22Let1627596694Scrutinee_1627595672Sym2KindInference%Let1627596694Scrutinee_1627595672Sym32Let1627596694Scrutinee_1627595672Sym3KindInference%Let1627596694Scrutinee_1627595672Sym4Let1627596675XsLet1627596675XsSym0 Let1627596675XsSym0KindInferenceLet1627596675XsSym1 Let1627596675XsSym1KindInferenceLet1627596675XsSym2 Let1627596675XsSym2KindInferenceLet1627596675XsSym3 Let1627596675XsSym3KindInferenceLet1627596675XsSym4Let1627596514X_1627596521Let1627596514X_1627596515Let1627596514YsLet1627596514S''Let1627596514YLet1627596514S'Let1627596514X_1627596521Sym0*Let1627596514X_1627596521Sym0KindInferenceLet1627596514X_1627596521Sym1*Let1627596514X_1627596521Sym1KindInferenceLet1627596514X_1627596521Sym2*Let1627596514X_1627596521Sym2KindInferenceLet1627596514X_1627596521Sym3*Let1627596514X_1627596521Sym3KindInferenceLet1627596514X_1627596521Sym4Let1627596514X_1627596515Sym0*Let1627596514X_1627596515Sym0KindInferenceLet1627596514X_1627596515Sym1*Let1627596514X_1627596515Sym1KindInferenceLet1627596514X_1627596515Sym2*Let1627596514X_1627596515Sym2KindInferenceLet1627596514X_1627596515Sym3*Let1627596514X_1627596515Sym3KindInferenceLet1627596514X_1627596515Sym4Let1627596514YsSym0 Let1627596514YsSym0KindInferenceLet1627596514YsSym1 Let1627596514YsSym1KindInferenceLet1627596514YsSym2 Let1627596514YsSym2KindInferenceLet1627596514YsSym3 Let1627596514YsSym3KindInferenceLet1627596514YsSym4Let1627596514S''Sym0!Let1627596514S''Sym0KindInferenceLet1627596514S''Sym1!Let1627596514S''Sym1KindInferenceLet1627596514S''Sym2!Let1627596514S''Sym2KindInferenceLet1627596514S''Sym3!Let1627596514S''Sym3KindInferenceLet1627596514S''Sym4Let1627596514YSym0Let1627596514YSym0KindInferenceLet1627596514YSym1Let1627596514YSym1KindInferenceLet1627596514YSym2Let1627596514YSym2KindInferenceLet1627596514YSym3Let1627596514YSym3KindInferenceLet1627596514YSym4Let1627596514S'Sym0 Let1627596514S'Sym0KindInferenceLet1627596514S'Sym1 Let1627596514S'Sym1KindInferenceLet1627596514S'Sym2 Let1627596514S'Sym2KindInferenceLet1627596514S'Sym3 Let1627596514S'Sym3KindInferenceLet1627596514S'Sym4Let1627596348X_1627596355Let1627596348X_1627596349Let1627596348YLet1627596348S''Let1627596348YsLet1627596348S'Let1627596348X_1627596355Sym0*Let1627596348X_1627596355Sym0KindInferenceLet1627596348X_1627596355Sym1*Let1627596348X_1627596355Sym1KindInferenceLet1627596348X_1627596355Sym2*Let1627596348X_1627596355Sym2KindInferenceLet1627596348X_1627596355Sym3*Let1627596348X_1627596355Sym3KindInferenceLet1627596348X_1627596355Sym4Let1627596348X_1627596349Sym0*Let1627596348X_1627596349Sym0KindInferenceLet1627596348X_1627596349Sym1*Let1627596348X_1627596349Sym1KindInferenceLet1627596348X_1627596349Sym2*Let1627596348X_1627596349Sym2KindInferenceLet1627596348X_1627596349Sym3*Let1627596348X_1627596349Sym3KindInferenceLet1627596348X_1627596349Sym4Let1627596348YSym0Let1627596348YSym0KindInferenceLet1627596348YSym1Let1627596348YSym1KindInferenceLet1627596348YSym2Let1627596348YSym2KindInferenceLet1627596348YSym3Let1627596348YSym3KindInferenceLet1627596348YSym4Let1627596348S''Sym0!Let1627596348S''Sym0KindInferenceLet1627596348S''Sym1!Let1627596348S''Sym1KindInferenceLet1627596348S''Sym2!Let1627596348S''Sym2KindInferenceLet1627596348S''Sym3!Let1627596348S''Sym3KindInferenceLet1627596348S''Sym4Let1627596348YsSym0 Let1627596348YsSym0KindInferenceLet1627596348YsSym1 Let1627596348YsSym1KindInferenceLet1627596348YsSym2 Let1627596348YsSym2KindInferenceLet1627596348YsSym3 Let1627596348YsSym3KindInferenceLet1627596348YsSym4Let1627596348S'Sym0 Let1627596348S'Sym0KindInferenceLet1627596348S'Sym1 Let1627596348S'Sym1KindInferenceLet1627596348S'Sym2 Let1627596348S'Sym2KindInferenceLet1627596348S'Sym3 Let1627596348S'Sym3KindInferenceLet1627596348S'Sym4!Let1627596313Scrutinee_1627595678%Let1627596313Scrutinee_1627595678Sym02Let1627596313Scrutinee_1627595678Sym0KindInference%Let1627596313Scrutinee_1627595678Sym12Let1627596313Scrutinee_1627595678Sym1KindInference%Let1627596313Scrutinee_1627595678Sym2!Let1627596292Scrutinee_1627595680%Let1627596292Scrutinee_1627595680Sym02Let1627596292Scrutinee_1627595680Sym0KindInference%Let1627596292Scrutinee_1627595680Sym1!Let1627596266Scrutinee_1627595682%Let1627596266Scrutinee_1627595682Sym02Let1627596266Scrutinee_1627595682Sym0KindInference%Let1627596266Scrutinee_1627595682Sym1Lambda_1627596054Sym0"Lambda_1627596054Sym0KindInferenceLambda_1627596054Sym1"Lambda_1627596054Sym1KindInferenceLambda_1627596054Sym2"Lambda_1627596054Sym2KindInferenceLambda_1627596054Sym3Lambda_1627596020Sym0"Lambda_1627596020Sym0KindInferenceLambda_1627596020Sym1"Lambda_1627596020Sym1KindInferenceLambda_1627596020Sym2"Lambda_1627596020Sym2KindInferenceLambda_1627596020Sym3Lambda_1627595984Sym0"Lambda_1627595984Sym0KindInferenceLambda_1627595984Sym1"Lambda_1627595984Sym1KindInferenceLambda_1627595984Sym2"Lambda_1627595984Sym2KindInferenceLambda_1627595984Sym3Lambda_1627595946Sym0"Lambda_1627595946Sym0KindInferenceLambda_1627595946Sym1"Lambda_1627595946Sym1KindInferenceLambda_1627595946Sym2"Lambda_1627595946Sym2KindInferenceLambda_1627595946Sym3Lambda_1627595906Sym0"Lambda_1627595906Sym0KindInferenceLambda_1627595906Sym1"Lambda_1627595906Sym1KindInferenceLambda_1627595906Sym2"Lambda_1627595906Sym2KindInferenceLambda_1627595906Sym3Lambda_1627595864Sym0"Lambda_1627595864Sym0KindInferenceLambda_1627595864Sym1"Lambda_1627595864Sym1KindInferenceLambda_1627595864Sym2"Lambda_1627595864Sym2KindInferenceLambda_1627595864Sym3!Let1627595821Scrutinee_1627595708%Let1627595821Scrutinee_1627595708Sym02Let1627595821Scrutinee_1627595708Sym0KindInference%Let1627595821Scrutinee_1627595708Sym12Let1627595821Scrutinee_1627595708Sym1KindInference%Let1627595821Scrutinee_1627595708Sym22Let1627595821Scrutinee_1627595708Sym2KindInference%Let1627595821Scrutinee_1627595708Sym32Let1627595821Scrutinee_1627595708Sym3KindInference%Let1627595821Scrutinee_1627595708Sym4!Let1627595764Scrutinee_1627595710%Let1627595764Scrutinee_1627595710Sym02Let1627595764Scrutinee_1627595710Sym0KindInference%Let1627595764Scrutinee_1627595710Sym12Let1627595764Scrutinee_1627595710Sym1KindInference%Let1627595764Scrutinee_1627595710Sym22Let1627595764Scrutinee_1627595710Sym2KindInference%Let1627595764Scrutinee_1627595710Sym32Let1627595764Scrutinee_1627595710Sym3KindInference%Let1627595764Scrutinee_1627595710Sym4Let1627595745YsLet1627595745YsSym0 Let1627595745YsSym0KindInferenceLet1627595745YsSym1 Let1627595745YsSym1KindInferenceLet1627595745YsSym2 Let1627595745YsSym2KindInferenceLet1627595745YsSym3 Let1627595745YsSym3KindInferenceLet1627595745YsSym4 sPrependToAllsNonEmptySubsequencesTFCo:R:Applyk[]HeadSym0l0Case_1627755611Case_1627755653Maybe_Sym0KindInferenceMaybe_Sym1KindInferenceMaybe_Sym2KindInferenceTFCo:R:Apply(->)kMaybe_Sym0l0IsJustSym0KindInferenceIsNothingSym0KindInferenceFromJustSym0KindInferenceFromMaybeSym0KindInferenceFromMaybeSym1KindInferenceMaybeToListSym0KindInferenceListToMaybeSym0KindInferenceCatMaybesSym0KindInferenceMapMaybeSym0KindInferenceMapMaybeSym1KindInference!Let1627755645Scrutinee_1627755568%Let1627755645Scrutinee_1627755568Sym02Let1627755645Scrutinee_1627755568Sym0KindInference%Let1627755645Scrutinee_1627755568Sym12Let1627755645Scrutinee_1627755568Sym1KindInference%Let1627755645Scrutinee_1627755568Sym2!Let1627755598Scrutinee_1627755570%Let1627755598Scrutinee_1627755570Sym02Let1627755598Scrutinee_1627755570Sym0KindInference%Let1627755598Scrutinee_1627755570Sym12Let1627755598Scrutinee_1627755570Sym1KindInference%Let1627755598Scrutinee_1627755570Sym22Let1627755598Scrutinee_1627755570Sym2KindInference%Let1627755598Scrutinee_1627755570Sym3Let1627755585RsLet1627755585RsSym0 Let1627755585RsSym0KindInferenceLet1627755585RsSym1 Let1627755585RsSym1KindInferenceLet1627755585RsSym2 Let1627755585RsSym2KindInferenceLet1627755585RsSym3!TFCo:R:ApplyBoolMaybeIsJustSym0l0Case_1627770537Case_1627770542Case_1627770604Case_1627770609Case_1627771086Case_1627771123Case_1627771129Case_1627771158Case_1627771163Lambda_1627771194Case_1627771257Case_1627771263Case_1627771309Case_1627771315Case_1627771317Case_1627771342Case_1627771373Case_1627771382Case_1627771413Case_1627771486Case_1627771517Case_1627771526Case_1627771557Case_1627771637Case_1627771655Lambda_1627771703Case_1627771727Case_1627771763Case_1627771794Case_1627771812Case_1627771817Lambda_1627772041Case_1627772045SelectElem_byGenericLengthSym0KindInferenceElemIndexSym0KindInferenceElemIndexSym1KindInferenceFindIndexSym0KindInferenceFindIndexSym1KindInferenceElemIndicesSym0KindInferenceElemIndicesSym1KindInferenceFindIndicesSym0KindInferenceFindIndicesSym1KindInferenceLengthSym0KindInferenceSumSym0KindInferenceProductSym0KindInference!GenericReplicateSym0KindInference!GenericReplicateSym1KindInferenceReplicateSym0KindInferenceReplicateSym1KindInferenceTransposeSym0KindInferenceGenericTakeSym0KindInferenceGenericTakeSym1KindInferenceGenericSplitAtSym0KindInferenceGenericSplitAtSym1KindInferenceSplitAtSym0KindInferenceSplitAtSym1KindInferenceTakeSym0KindInferenceTakeSym1KindInferenceGenericDropSym0KindInferenceGenericDropSym1KindInferenceDropSym0KindInferenceDropSym1KindInferenceTakeWhileSym0KindInferenceTakeWhileSym1KindInferenceDropWhileSym0KindInferenceDropWhileSym1KindInferenceDropWhileEndSym0KindInferenceDropWhileEndSym1KindInferenceGroupSym0KindInferenceGroupBySym0KindInferenceGroupBySym1KindInferenceSpanSym0KindInferenceSpanSym1KindInferenceBreakSym0KindInferenceBreakSym1KindInferenceStripPrefixSym0KindInferenceStripPrefixSym1KindInferenceStripPrefixSym2MaximumSym0KindInferenceMinimumSym0KindInferenceInsertSym0KindInferenceInsertSym1KindInferenceSortSym0KindInferenceLookupSym0KindInferenceLookupSym1KindInferenceFindSym0KindInferenceFindSym1KindInferenceIntersectSym0KindInferenceIntersectSym1KindInferenceIntersectBySym0KindInferenceIntersectBySym1KindInferenceIntersectBySym2KindInferenceIntersectBySym3FilterSym0KindInferenceFilterSym1KindInferencePartitionSym0KindInferencePartitionSym1KindInference SelectSym0SelectSym0KindInference SelectSym1SelectSym1KindInference SelectSym2SelectSym2KindInference SelectSym3GenericIndexSym0KindInferenceGenericIndexSym1KindInference:!!$###:!!$$###Zip4Sym0KindInferenceZip4Sym1KindInferenceZip4Sym2KindInferenceZip4Sym3KindInferenceZip5Sym0KindInferenceZip5Sym1KindInferenceZip5Sym2KindInferenceZip5Sym3KindInferenceZip5Sym4KindInferenceZip6Sym0KindInferenceZip6Sym1KindInferenceZip6Sym2KindInferenceZip6Sym3KindInferenceZip6Sym4KindInferenceZip6Sym5KindInferenceZip7Sym0KindInferenceZip7Sym1KindInferenceZip7Sym2KindInferenceZip7Sym3KindInferenceZip7Sym4KindInferenceZip7Sym5KindInferenceZip7Sym6KindInferenceZipWith4Sym0KindInferenceZipWith4Sym1KindInferenceZipWith4Sym2KindInferenceZipWith4Sym3KindInferenceZipWith4Sym4KindInference ZipWith4Sym5ZipWith5Sym0KindInferenceZipWith5Sym1KindInferenceZipWith5Sym2KindInferenceZipWith5Sym3KindInferenceZipWith5Sym4KindInferenceZipWith5Sym5KindInference ZipWith5Sym6ZipWith6Sym0KindInferenceZipWith6Sym1KindInferenceZipWith6Sym2KindInferenceZipWith6Sym3KindInferenceZipWith6Sym4KindInferenceZipWith6Sym5KindInferenceZipWith6Sym6KindInference ZipWith6Sym7ZipWith7Sym0KindInferenceZipWith7Sym1KindInferenceZipWith7Sym2KindInferenceZipWith7Sym3KindInferenceZipWith7Sym4KindInferenceZipWith7Sym5KindInferenceZipWith7Sym6KindInferenceZipWith7Sym7KindInference ZipWith7Sym8NubSym0KindInferenceUnionSym0KindInferenceUnionSym1KindInferenceUnionBySym0KindInferenceUnionBySym1KindInferenceUnionBySym2KindInferenceNubBySym0KindInferenceNubBySym1KindInference Elem_bySym0Elem_bySym0KindInference Elem_bySym1Elem_bySym1KindInference Elem_bySym2Elem_bySym2KindInference Elem_bySym3Lambda_1627772041Sym0"Lambda_1627772041Sym0KindInferenceLambda_1627772041Sym1"Lambda_1627772041Sym1KindInferenceLambda_1627772041Sym2"Lambda_1627772041Sym2KindInferenceLambda_1627772041Sym3Let1627772017BuildListLet1627772017BuildListSym0'Let1627772017BuildListSym0KindInferenceLet1627772017BuildListSym1'Let1627772017BuildListSym1KindInferenceLet1627772017BuildListSym2'Let1627772017BuildListSym2KindInferenceLet1627772017BuildListSym3'Let1627772017BuildListSym3KindInferenceLet1627772017BuildListSym4Let1627771981Sum'Let1627771981Sum'Sym0"Let1627771981Sum'Sym0KindInferenceLet1627771981Sum'Sym1"Let1627771981Sum'Sym1KindInferenceLet1627771981Sum'Sym2"Let1627771981Sum'Sym2KindInferenceLet1627771981Sum'Sym3Let1627771957ProdLet1627771957ProdSym0"Let1627771957ProdSym0KindInferenceLet1627771957ProdSym1"Let1627771957ProdSym1KindInferenceLet1627771957ProdSym2"Let1627771957ProdSym2KindInferenceLet1627771957ProdSym3Let1627771835XsLet1627771835XsSym0 Let1627771835XsSym0KindInferenceLet1627771835XsSym1 Let1627771835XsSym1KindInferenceLet1627771835XsSym2Let1627771768XsLet1627771768XsSym0 Let1627771768XsSym0KindInferenceLet1627771768XsSym1 Let1627771768XsSym1KindInferenceLet1627771768XsSym2 Let1627771768XsSym2KindInferenceLet1627771768XsSym3 Let1627771768XsSym3KindInferenceLet1627771768XsSym4 Let1627771768XsSym4KindInferenceLet1627771768XsSym5Lambda_1627771703Sym0"Lambda_1627771703Sym0KindInferenceLambda_1627771703Sym1"Lambda_1627771703Sym1KindInferenceLambda_1627771703Sym2"Lambda_1627771703Sym2KindInferenceLambda_1627771703Sym3"Lambda_1627771703Sym3KindInferenceLambda_1627771703Sym4!Let1627771708Scrutinee_1627770443%Let1627771708Scrutinee_1627770443Sym02Let1627771708Scrutinee_1627770443Sym0KindInference%Let1627771708Scrutinee_1627770443Sym12Let1627771708Scrutinee_1627770443Sym1KindInference%Let1627771708Scrutinee_1627770443Sym22Let1627771708Scrutinee_1627770443Sym2KindInference%Let1627771708Scrutinee_1627770443Sym32Let1627771708Scrutinee_1627770443Sym3KindInference%Let1627771708Scrutinee_1627770443Sym4Let1627771630X_1627771631Let1627771630ZsLet1627771630YsLet1627771630X_1627771631Sym0*Let1627771630X_1627771631Sym0KindInferenceLet1627771630X_1627771631Sym1*Let1627771630X_1627771631Sym1KindInferenceLet1627771630X_1627771631Sym2*Let1627771630X_1627771631Sym2KindInferenceLet1627771630X_1627771631Sym3Let1627771630ZsSym0 Let1627771630ZsSym0KindInferenceLet1627771630ZsSym1 Let1627771630ZsSym1KindInferenceLet1627771630ZsSym2 Let1627771630ZsSym2KindInferenceLet1627771630ZsSym3Let1627771630YsSym0 Let1627771630YsSym0KindInferenceLet1627771630YsSym1 Let1627771630YsSym1KindInferenceLet1627771630YsSym2 Let1627771630YsSym2KindInferenceLet1627771630YsSym3Let1627771519X_1627771520Let1627771519ZsLet1627771519YsLet1627771519X_1627771520Sym0*Let1627771519X_1627771520Sym0KindInferenceLet1627771519X_1627771520Sym1*Let1627771519X_1627771520Sym1KindInferenceLet1627771519X_1627771520Sym2*Let1627771519X_1627771520Sym2KindInferenceLet1627771519X_1627771520Sym3*Let1627771519X_1627771520Sym3KindInferenceLet1627771519X_1627771520Sym4*Let1627771519X_1627771520Sym4KindInferenceLet1627771519X_1627771520Sym5Let1627771519ZsSym0 Let1627771519ZsSym0KindInferenceLet1627771519ZsSym1 Let1627771519ZsSym1KindInferenceLet1627771519ZsSym2 Let1627771519ZsSym2KindInferenceLet1627771519ZsSym3 Let1627771519ZsSym3KindInferenceLet1627771519ZsSym4 Let1627771519ZsSym4KindInferenceLet1627771519ZsSym5Let1627771519YsSym0 Let1627771519YsSym0KindInferenceLet1627771519YsSym1 Let1627771519YsSym1KindInferenceLet1627771519YsSym2 Let1627771519YsSym2KindInferenceLet1627771519YsSym3 Let1627771519YsSym3KindInferenceLet1627771519YsSym4 Let1627771519YsSym4KindInferenceLet1627771519YsSym5Let1627771491XsLet1627771491XsSym0 Let1627771491XsSym0KindInferenceLet1627771491XsSym1 Let1627771491XsSym1KindInferenceLet1627771491XsSym2 Let1627771491XsSym2KindInferenceLet1627771491XsSym3 Let1627771491XsSym3KindInferenceLet1627771491XsSym4 Let1627771491XsSym4KindInferenceLet1627771491XsSym5Let1627771483XsLet1627771483XsSym0Let1627771375X_1627771376Let1627771375ZsLet1627771375YsLet1627771375X_1627771376Sym0*Let1627771375X_1627771376Sym0KindInferenceLet1627771375X_1627771376Sym1*Let1627771375X_1627771376Sym1KindInferenceLet1627771375X_1627771376Sym2*Let1627771375X_1627771376Sym2KindInferenceLet1627771375X_1627771376Sym3*Let1627771375X_1627771376Sym3KindInferenceLet1627771375X_1627771376Sym4*Let1627771375X_1627771376Sym4KindInferenceLet1627771375X_1627771376Sym5Let1627771375ZsSym0 Let1627771375ZsSym0KindInferenceLet1627771375ZsSym1 Let1627771375ZsSym1KindInferenceLet1627771375ZsSym2 Let1627771375ZsSym2KindInferenceLet1627771375ZsSym3 Let1627771375ZsSym3KindInferenceLet1627771375ZsSym4 Let1627771375ZsSym4KindInferenceLet1627771375ZsSym5Let1627771375YsSym0 Let1627771375YsSym0KindInferenceLet1627771375YsSym1 Let1627771375YsSym1KindInferenceLet1627771375YsSym2 Let1627771375YsSym2KindInferenceLet1627771375YsSym3 Let1627771375YsSym3KindInferenceLet1627771375YsSym4 Let1627771375YsSym4KindInferenceLet1627771375YsSym5Let1627771347XsLet1627771347XsSym0 Let1627771347XsSym0KindInferenceLet1627771347XsSym1 Let1627771347XsSym1KindInferenceLet1627771347XsSym2 Let1627771347XsSym2KindInferenceLet1627771347XsSym3 Let1627771347XsSym3KindInferenceLet1627771347XsSym4 Let1627771347XsSym4KindInferenceLet1627771347XsSym5Let1627771339XsLet1627771339XsSym0Lambda_1627771194Sym0"Lambda_1627771194Sym0KindInferenceLambda_1627771194Sym1"Lambda_1627771194Sym1KindInferenceLambda_1627771194Sym2"Lambda_1627771194Sym2KindInferenceLambda_1627771194Sym3"Lambda_1627771194Sym3KindInferenceLambda_1627771194Sym4Let1627770586Nub'Let1627770586Nub'Sym0"Let1627770586Nub'Sym0KindInferenceLet1627770586Nub'Sym1"Let1627770586Nub'Sym1KindInferenceLet1627770586Nub'Sym2"Let1627770586Nub'Sym2KindInferenceLet1627770586Nub'Sym3Let1627770513NubBy'Let1627770513NubBy'Sym0$Let1627770513NubBy'Sym0KindInferenceLet1627770513NubBy'Sym1$Let1627770513NubBy'Sym1KindInferenceLet1627770513NubBy'Sym2$Let1627770513NubBy'Sym2KindInferenceLet1627770513NubBy'Sym3$Let1627770513NubBy'Sym3KindInferenceLet1627770513NubBy'Sym4"TFCo:R:Applyk[]GenericLengthSym0l0