!߉       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv w x y z { | } ~   None&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./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 Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NonePu      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe-HV`  overloadedClosed cartesian category. overloaded cat a b represents B^A. This is due how (->) works. overloadedJBicartesian category is category which is both cartesian and cocartesian.%We also require distributive morpism.  overloadedaCocartesian category is a monoidal category where monoidal product is the categorical coproduct. overloaded f g is written as [f, g] in category theory literature. overloaded]Cartesian category is a monoidal category where monoidal product is the categorical product. overloaded f g is written as \langle f, g \rangle in category theory literature. overloadedCategory with terminal object. overloadedA non-clashing name for . overloadedA non-clashing name for ().   9 SafecC overloaded Class for -like datastructuresA character literal x is desugared to   'x'   Safe&'.=?@AHXkd( overloaded) overloaded* overloaded "#$%&'(*) '(*)&%$"#Safeik. overloaded Class for -like datastrucutresAn if- -expression if b then t else e is desugared to ifte (/ b) t e  Enabled with: ?{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:If #-} 0 overloaded. overloaded if -expression.1 overloaded is 2 overloaded is ./0./0None&'-.=?@ACHUVXo 4 overloadedClass for Cons :.6 overloadedClass for nil, []0See test-suite for ways to define instances for . There are at-least two-ways.8 overloaded> overloaded? overloaded@ overloadedA overloadedB overloadedK overloadedL overloadedM overloadedN overloadedO overloaded456786745855None&'-.=?@ACHUVXqHR overloadedBidirectional class for Cons :.8RSTTRS8S5Safes^ overloaded Class for -like datastructuresA numeric literal 42 is desugared to _ 42 ^_^_None&'.=?@AHUVXkyb overloaded Another way to desugar numerals.A numeric literal 123 is desugared to c @123  Enabled with: E{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:Numerals #-} -One can do type-level computations with this.d overloadedDefault implementation of c.Usage example:  instance ( n, ...) => b n MyType where c = d @n h overloaded'TODO: currently there is no range checkbcdbcdNonezMNone"#{F overloadedModule name and variable name.     None4|=None|None"# overloaded5Non-empty binary tree, with elements at branches too. overloaded$Match nested function applications, ^: f x y z ~> f :| [x,y,z] overloaded$Match nested operator applications, `C. x + y * z ~> Branch (+) (Leaf x) (Branch (*) (Leaf y) (Leaf z)) !"#$None "#&'.14H% overloaded$Note: morpisms don't have variables!& overloaded Proc syntax' overloaded term -< y( overloadedx <- term -< y<%)*+,-./0123456789:;<=>?@ABCDEFGHI('&JKLMNOPQRSTUVWXYZ[\]^_`SafeabcdNone"#e overloadedMake newtype class evidence fghijklmneop None"#X#v overloaded Overloaded plugin.8To enable plugin put the following at top of the module: D{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:Symbols #-} KAt least one option is required, multiple can given either using multiple  -fplugin-opt/ options, or by separating options with colon: M{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:Symbols:Numerals #-} 8Options also take optional desugaring names, for example e{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:Labels=Data.Generics.ProductFields.field #-}  to desugar OverloadedLabels directly into field from  generics-lens% (no need to import orphan instance!)Supported options Symbols desugars literal strings to   @symStrings works like built-in OverloadedStrings( (but you can use different method than )Numerals desugars literal numbers to  @natNaturals desugars literal numbers to  nat (i.e. like )Chars desugars literal characters to  c. Note:7 there isn't type-level alternative: we cannot promote sLists is not like built-in OverloadedLists!, but desugars explicit lists to  and  If desugars if-expressions to ! b t eUnit desugars ()-expressions to  ) (but you can use different method, e.g. boring from  Fhttps://hackage.haskell.org/package/boring-0.1.3/docs/Data-Boring.html Data.Boring)Labels works like built-in OverloadedLabels (you should enable OverloadedLabels! so parser recognises the syntax)TypeNats and  TypeSymbols" desugar type-level literals into  " and  # respectivelyDo desugar in Local Do fashion. See examples. Categories change Arrows desugaring to use  "correct" category classes.Known limitationsDoesn't desugar inside patterns RecordFieldsWARNING= the type-checker plugin is experimental, it's adviced to use !{-# OPTIONS_GHC -ddump-simpl #-} to avoid surprising segfaults.UsageH{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:RecordFields #-}Implementation bits!See Note [HasField instances] in ClsInst), the behavior of this plugin is similar.The $% class is defined in GHC.Records.Compat module of record-hasfield package: class $% {k} x r a | x r -> a where $& :: r -> (a -> r, a) Suppose we have data R y = MkR { foo :: [y] } and foo) in scope. We will solve constraints like HasField "foo" (R Int) a #by emitting a new wanted constraint  [Int] ~# a and building a HasField dictionary out of selector foo appropriately cast.)Idiom brackets from TemplateHaskellQuotes {-# LANGUAGE TemplateHaskellQuotes #-} {-# OPTIONS_GHC -fplugin=Overloaded -fplugin-opt=Overloaded:IdiomBrackets #-} data Tree a = Leaf a | Branch (Tree a) (Tree a) deriving (Show) instance Functor Tree where q! f (Leaf x) = Leaf (f x) q f (Branch l r) = Branch (q f l) (q+ f r) instance Traversable Tree where r' f (Leaf x) = [| Leaf (f x) |] r f (Branch l r) = [| Branch (r f l) (r f r) |] vv None&'.=?@AHUVXk` overloadedCAnother way to desugar overloaded string literals using this class.A string literal  "example" is desugared to  @"example"  Enabled with: D{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:Symbols #-} s7 None-.HV overloadedA way to overload type level ts.A number type-literal 42 is desugared to  42  Enabled with: E{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:TypeNats #-}  Safe-.HV; overloadedA way to overload type level us.A symbol type-literal  "example" is desugared to  "example"  Enabled with: H{-# OPTIONS -fplugin=Overloaded -fplugin-opt=Overloaded:TypeSymbols #-} 'None1  "#$%&'(*)./04567^_bcdv1vbcd^_ 6745./0'(*)&%$"#  v()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQPONRSTUV!WXYZ[ \]^_`abcdefghijklmnopqrstuZ lmnopqrsuvwxyz{|}~    "  # (((((((((((((      !"#$%%&'(()*+,-./.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.nopoqorosotouovowoxoyozo{o|o}o~ooo      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghhijklmnopqrsttuvwxyyz{||}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGGHIIJKLMNNOPPQRSTUVWXYZ[VU\]^_`abcdcccecfcgchcicjckclcmnonpnqnrnsntnunvnwnxnynzn{n|n}n~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  N    !"#$%&'()*+,-./012344567789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aabcdefghijklmnopqrstuvwxyz{|}~                                              !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~                                                                                                                                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` _ a b c b d b e b f b g b h b i b j b k b l b m b n b o b p b q b r b s b t b u b v b w b x b y b z b { b | b } b ~ b  b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b                                                                  ! " # " $ " % " & " ' " ( " ) " * " + " , " - " . " / " 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 " S " T " U " V " W X Y X Z X [ X \ X ] X ^ X _ X ` X a X b X c X d X e X f X g X h X i X j X k X l X m X n X o X p X q X r X s X t X u X v X w X x X y X z X { X | X } X ~ X  X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X                           ! " # $ % & ' ( ) * + , - . / 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  N O P Q  R  S  T  U  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 9 : ; < = > ? @ A A B C D E F G G H I J J K L M M N O P Q R S TUVUWUXUYUUZ[Z\Z]Z^Z_Z`ZaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZsZtZuZvZwZxZyZzZ{Z|Z}Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ Z Z Z Z ZZZZZZZZZZZZZZZZZZZZZ Z!Z"Z#Z$Z%Z&Z'Z(Z)Z*Z+Z,Z-Z.Z/Z0Z1Z2Z3Z4Z5Z6 7 8 9 : ; < = > ? @ A B CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkklmnopqrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/rrr0r1r2r3r4r5r6r7r8r9r:r; <   = > ? @ A B C C D E EFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F` a b c   d e f g h i j k l m n opppppqprpsptpupvpwpxpypzp{p|p}p~pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp                                               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                 rrrrr X X X X " "       !"# $%&&'((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(7ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~()()(((((((      !"#$%&'()*+,--./0123456789:;<=>?@ABCDEFGHIJKLLMMNOOPQRSTUV(W(XY Z[\]'overloaded-0.2.1-4exzdhKWK7NEvFFVdINLUnOverloaded.CategoriesOverloaded.Chars Overloaded.Do Overloaded.IfOverloaded.ListsOverloaded.Lists.BidiOverloaded.NaturalsOverloaded.NumeralsOverloaded.PluginOverloaded.SymbolsOverloaded.TypeNatsOverloaded.TypeSymbolsGHC.Compat.AllGHC.Compat.ExprData.MapMapOverloaded.Plugin.DiagnosticsOverloaded.Plugin.NamesOverloaded.Plugin.RewriteOverloaded.Plugin.LocalDoOverloaded.Plugin.IdiomBracketsOverloaded.Plugin.CategoriesOverloaded.Plugin.VOverloaded.Plugin.HasField fromSymbol Data.String fromString fromNumeral fromNatural fromCharsconsnilifteFromNatFromTypeSymbolGHC.Records.CompatHasFieldhasField OverloadedbaseControl.CategoryCategoryGeneralizedElementObjectkonstCCC Exponentialeval transposeBicartesianCategorydistrCocartesianCategory CoproductinlinrfaninCartesianCategoryProductproj1proj2fanout CategoryWith1Terminalterminalidentity%%$fCategoryWith1TYPE->$fCartesianCategoryTYPE->$fCocartesianCategoryTYPE->$fBicartesianCategoryTYPE-> $fCCCTYPE->$fGeneralizedElementTYPE->FromCharfromChar$fFromCharCharMonad'monadBindThenPureDoMethod$fMonad'Bindty$fMonad'Thenty$fMonad'PuretyToBooltoBool$fToBoolEither $fToBoolMaybe $fToBoolBoolConsNilfromList $fNilRAVec $fNilRAList$fNilPOP$fNilNP$fNilVec $fNilIntMap$fNilMap$fNilSeq $fNilIntSet$fNilSet$fNil[]$fConsaRAVecNERAVec$fConsaRAVecRAVec$fConsaRAListNERAList$fConsaRAListRAList$fConsNPPOPPOP $fConsfNPNP $fConsaVecVec$fCons(,)IntMapIntMap$fCons(,)MapMap $fConsaSeqSeq$fConsIntIntSetIntSet $fConsaSetSet$fConsa[]NonEmpty $fConsa[][] FromNatural$fFromNaturalInteger$fFromNaturalNatural FromNumeraldefaultFromNumeral$fFromNumeralnBinP$fFromNumeralnBin$fFromNumeralnNat$fFromNumeralnInt$fFromNumeralnInteger$fFromNumeralnNatural$fFromNumeralnWord64$fFromNumeralnWord32$fFromNumeralnWord16$fFromNumeralnWord8$fFromNumeralnFin$fFinFromNumeralSS$fFinFromNumeralZS$fFromNumeralnPos$fFromNumeralnPosP$fPosFromNumeralSb$fPosFromNumeralZbplugin $fEqStrSym $fShowStrSym $fEqNumNat $fShowNumNat $fEqOnOff $fShowOnOff $fEqOptions $fShowOptions FromSymbol$fFromSymbolsText$fFromSymbolsText0$fFromSymbols[]$fFromSymbolsByteString$fFromSymbolsByteString0$fFromSymbolsDayFromNatC$fFromNatCBinP $fFromNatCBin $fFromNatCNat$fFromNatCNat0FromTypeSymbolC$fFromTypeSymbolCSymbol Debug.TracetraceControl.Monad.FixMonadFixmfixGHC.Base Applicativepure<*>*><*Control.Monad.IO.ClassMonadIOliftIO Control.Monad mapAndUnzipM GHC.IORefIORef Data.Functor<$>ghcTyCoRepprovSize pprDataConspprTyLitsubstForAllCoBndrUsingextendCvSubstWithClone setCvSubstEnv coVarsOfCostyCoVarsOfProvtyCoVarsOfCoList KindCoercionTyLitNumTyLitStrTyLit debugPprTypesubstTyVarBndrUsingsubstForAllCoBndrcheckValidSubstisValidTCvSubstsubstTysWithCoVarssubstTyWithInScope zipCvSubstmkTyCoInScopeSetnoFreeVarsOfCoinjectiveVarsOfTypeinjectiveVarsOfBindercloseOverKindsFVisTYPE delBinderVarFamInsttcGetFamInstEnvsinjTyVarsOfTypesinjTyVarsOfTypemakeInjectivityErrorstcExtendLocalFamInstEnvtcTopNormaliseNewTypeTF_maybetcLookupDataFamInst_maybetcLookupDataFamInsttcInstNewTyCon_maybecheckFamInstConsistency newFamInstTcEnv wrongThingErr pprBinders mkWrapperNamemkStableIdFromNamemkStableIdFromStringnewFamInstAxiomNamenewFamInstTyConName newDFunName' newDFunNamesimpleInstInfoTyConsimpleInstInfoTysimpleInstInfoClsTypprInstInfoDetailsiDFunIdtcGetDefaultTys isBrackStagetcMetaTytopIdLvlcheckWellStaged tcExtendRulesgetTypeSigNamestcAddPatSynPlaceholderstcAddDataFamConPlaceholderstcInitOpenTidyEnvtcExtendBinderStacktcExtendLocalTypeEnvtcExtendIdEnv2tcExtendIdEnv1 tcExtendIdEnvtcExtendLetEnvtcExtendSigIdstcExtendRecIdsisTypeClosedLetBndrtcExtendNameTyVarEnvtcExtendTyVarEnvtcExtendKindEnvtcExtendKindEnvListgetInLocalScopetcLookupLocalIdstcLookupIdMaybe tcLookupId tcLookupTyVartcLookuptcLookupLcl_maybetcLookupLocatedtcExtendRecEnvtcExtendGlobalValEnvtcExtendTyConEnvtcExtendGlobalEnvtcExtendGlobalEnvImplicitsetGlobalTypeEnv tcGetInstEnvstcLookupInstancetcLookupLocatedTyContcLookupLocatedClasstcLookupLocatedGlobalId tcLookupAxiom tcLookupTyCon tcLookupClasstcLookupConLiketcLookupPatSyntcLookupDataContcLookupGlobalOnlytcLookupGlobaltcLookupLocatedGlobalioLookupDataCon lookupGlobalInstInfoiSpeciBinds InstBindings ib_tyvarsib_binds ib_pragmas ib_extensions ib_derivedMkCoremkAbsentErrorAppaBSENT_ERROR_IDaBSENT_SUM_FIELD_ERROR_ID tYPE_ERROR_IDnON_EXHAUSTIVE_GUARDS_ERROR_IDnO_METHOD_BINDING_ERROR_ID pAT_ERROR_IDrEC_CON_ERROR_IDrUNTIME_ERROR_IDrEC_SEL_ERROR_IDerrorIdsmkImpossibleExprmkRuntimeErrorApp mkJustExpr mkNothingExpr mkBuildExpr mkFoldrExpr mkListExpr mkConsExpr mkNilExpr wrapFloatmkSmallTupleCase mkTupleCasemkSmallTupleSelectormkTupleSelector1mkTupleSelectorunitExprmkBigCoreTupTy mkBigCoreTupmkBigCoreVarTupTymkBigCoreVarTup1mkBigCoreVarTupmkCoreTupBoxity mkCoreUbxTup mkCoreTupmkCoreVarTupTy mkCoreVarTupmkStringExprFSWithmkStringExprFS mkStringExpr mkCharExpr mkDoubleExpr mkFloatExpr mkNaturalExpr mkIntegerExprmkWordExprWord mkWordExpr mkIntExprInt mkIntExpr mkCoreLamscastBottomExpr mkIfThenElse mkWildCasemkWildValBindermkWildEvBinder mkCoreConApps mkCoreApps mkCoreApp mkCoreLets mkCoreLet sortQuantVars FloatBindFloatLet FloatCaseFindercannotFindInterfacecannotFindModulefindObjectLinkablefindObjectLinkableMaybe mkStubPathsmkHiPath mkObjPathmkHiOnlyModLocationmkHomeModLocation2mkHomeModLocationfindHomeModule uncacheModuleaddHomeModuleToFinderfindExposedPackageModulefindExactModulefindPluginModulefindImportedModuleflushFinderCachesIfaceEnv newIfaceNames newIfaceNamelookupIfaceTopextendIfaceEnvsextendIfaceTyVarEnvlookupIfaceVarlookupIfaceTyVar tcIfaceTyVarextendIfaceIdEnv tcIfaceLclId setNameModuleexternaliseName lookupOrigIO lookupOrigupdNameCacheTcmkNameCacheUpdaterifaceExportNamesallocateGlobalBindernewInteractiveBindernewGlobalBinderNameCacheUpdaterNCUupdateNameCacheTcMTypeformatLevPolyErrcheckForLevPolyXcheckForLevPolyensureNotLevPolytidySkolemInfo tidyEvVartidyCtzonkTidyOriginzonkTidyTcTypeszonkTidyTcTypezonkSigTyVarPairszonkTcTyVarToTyVar zonkTcTyVarzonkTcTyVarBinderzonkTcTyCoVarBndrzonkCo zonkTcTypezonkTcTypeMapper zonkCoVarzonkIdzonkSkolemInfozonkCt zonkSimpleszonkWC zonkEvVar zonkTcTypeszonkTyCoVarKind zonkTcTyVarszonkTyCoVarsAndFVListzonkTyCoVarsAndFVzonkTcTypesAndSplitDepVarszonkTcTypeAndSplitDepVarszonkTcTypeAndFVtcGetGlobalTyCoVarsskolemiseRuntimeUnk defaultTyVarzonkQuantifiedTyVarquantifyTyVarsnewMetaTyVarTyAtLevel newWildCardXnewMetaSigTyVarXnewMetaTyVarsX newMetaTyVarX newMetaTyVarsnewMetaSigTyVarsnewOpenFlexiTyVarTynewOpenTypeKindnewFlexiTyVarTysnewFlexiTyVarTy newFlexiTyVargenInstSkolTyVarsXwriteMetaTyVarisUnfilledMetaTyVarisFilledMetaTyVar readMetaTyVarcloneMetaTyVarnewMetaDetails newFmvTyVarnewSkolemTyVar newSigTyVar newFskTyVarinstSkolTyCoVarsXfreshenCoVarBndrsXfreshenTyVarBndrstcInstSuperSkolTyVarsXtcInstSkolTyVarsXtcInstSkolTyVarstcSuperSkolTyVarstcSkolDFunType tcInstTypeinferResultToType expTypeToType tauifyExpTypecheckingExpTypecheckingExpType_maybe readExpTypereadExpType_maybenewInferExpTypenewInferExpTypeInstnewInferExpTypeNoInstcheckCoercionHoleunpackCoercionHole_maybeunpackCoercionHoleisFilledCoercionHolefillCoercionHolenewCoercionHolenewDictemitWantedEvVarsemitWantedEvVar emitWantedEq emitWantedcloneWC cloneSimple cloneWanted newWanteds newWantednewEvVar newEvVarsnewMetaKindVarsnewMetaKindVar TcRnMonad getCCIndexMsetImplicitEnvMforkM forkM_maybefailIfM getIfModuleinitIfaceLclWithSubst initIfaceLclinitIfaceCheck initIfaceLoad initIfaceTcRn mkIfLclEnvsetLocalRdrEnvgetLocalRdrEnvfixSafeInstances finalSafeModerecordUnsafeInferaddModFinalizersWithLclEnvsetStagegetStageAndBindLevelgetStage keepAlivegetTopLevelSpliceLocsrecordTopLevelSpliceLocrecordThSpliceUse recordThUseemitWildCardHoleConstraintstraceTcConstraints setLclTypeEnv getLclTypeEnvisTouchableTcM setTcLevel getTcLevel pushTcLevelsM pushTcLevelM pushTcLevelM_pushLevelAndCaptureConstraintscaptureConstraintstryCaptureConstraintsdiscardConstraints emitInsolubleemitImplicationsemitImplication emitSimples emitSimpleemitConstraintsemitStaticConstraintssetConstraintVargetConstraintVarchooseUniqueOccTc addTcEvBindsetTcEvBindsMapgetTcEvBindsMapgetTcEvTyCoVarsnewNoTcEvBinds newTcEvBinds addTopEvBindsdebugTc mkErrInfoadd_warn addWarnAtaddWarn addWarnTcM addWarnTcwarnTcMwarnTcwarnIf warnIfFlag failIfTcMfailIfTccheckTcMcheckTc failWithTcM failWithTcmkErrTcmkErrTcM addErrTcM addErrsTcaddErrTc setCtLocM getCtLocM popErrCtxtupdCtxtaddLandmarkErrCtxtMaddLandmarkErrCtxt addErrCtxtM addErrCtxt setErrCtxt getErrCtxtfailTHcheckTH failIfErrsMifErrsM whenNoErrs checkNoErrs askNoErrstryTcDiscardingErrs discardErrstryTc mapAndReportMfoldAndRecoverMmapAndRecoverMrecoverM reportWarning reportError reportErrors addLongErrAt mkErrDocAt mkLongErrAtdiscardWarnings addMessagescheckErraddErrsaddErrAtfailAtfailWithaddErr setErrsVar getErrsVar wrapLocSndM wrapLocFstMwrapLocMaddLocM setSrcSpan getSrcSpanMaddDependentFilesgetDeclaredDefaultTysgetRecFieldEnvextendFixityEnv getFixityEnv getImports getRdrEnvsgetGlobalRdrEnvtcSelfBootInfotcIsHsBootOrSiggetInteractivePrintName getGHCiMonad getIsGHCi traceOptIf traceHiDiffstraceIfprintForUserTcRngetPrintUnqualified traceTcRn traceOptTcRntraceRntraceTcupdTcRef writeTcRef readTcRefnewTcRefnewSysLocalIds newSysLocalId newSysName newNameAtnewNamecloneLocalNamenewUniqueSupply newUniqueescapeArrowScope newArrowScope withException getEpsAndHptgetHpt updateEps_ updateEpsgetEps getEpsVarwithDoDynamicToo getGhcMode unlessXOptM whenXOptM whenWOptM whenGOptM whenDOptM unsetWOptM unsetGOptM unsetXOptMsetXOptMwoptMgoptMdoptMxoptMsetEnvsgetEnvs setLclEnv updLclEnv getLclEnv setGblEnv updGblEnv getGblEnv updTopEnv getTopEnv discardResult initTcRnIfinitTcInteractive initTcWithGblinitTcContainsCostCentreStateextractCostCentreState tcInitTidyEnv TcRnTypes getRoleAnnotslookupRoleAnnotemptyRoleAnnotEnvmkRoleAnnotEnvgetEvBindsTcPluginMunsafeTcPluginTcM runTcPluginM pprCtOriginpprCtLoc grhssCtOriginmatchesCtOrigin exprCtOrigin lexprCtOrigintoInvisibleOriginisVisibleOrigin isKindLevel isTypeLevelpprSigSkolInfo pprSkolInfopushErrCtxtSameOrigin pushErrCtxt setCtLocEnvupdateCtLocOriginsetCtLocOriginbumpCtLocDepth setCtLocSpanctLocTypeOrKind_maybe ctLocSpan ctLocOrigin ctLocDepth ctLocLevelctLocEnv mkGivenLoc toKindLoc mkKindLocsubGoalDepthExceededmaxSubGoalDepthbumpSubGoalDepthinitialSubGoalDeptheqCanDischargeFRfunEqCanDischargeFfunEqCanDischargeeqMayRewriteFReqCanRewriteFR eqCanRewrite ctFlavourRolectEvFlavourRole ctEvFlavourisGivenOrWDeriv isDerivedisGivenisWantedctEvEvId ctEvCoercionctEvExprctEvTermctEvRole ctEvEqRel ctEvOriginctEvLocctEvPredwrapTypewrapTypeWithImplicationpprEvVarWithType pprEvVarTheta pprEvVarsimplicDynFlags implicLclEnvimplicationPrototypenewImplication insolubleEqCt insolubleCt insolubleWCinsolubleImplicisInsolubleStatusisSolvedStatusinsolublesOnly addInsols addImplics addSimplesunionsWCandWC isSolvedWC isEmptyWC mkImplicWC mkSimpleWCemptyWCpprCts isEmptyCtsemptyCts andManyCts extendCtsListsnocCtsconsCtsctsElts listToCtsandCtssingleCtgetPendingWantedScssuperClassesMightHelpisPendingScInstisPendingScDictisUserTypeErrorCtgetUserTypeErrorMsg isTypeHoleCt isExprHoleCtisOutOfScopeCtisHoleCtisCNonCanonical isCFunEqCanisCFunEqCan_maybeisCDictCan_Maybe isCTyEqCan isDerivedCt isGivenCt isWantedCt isGivenLocarisesFromGivens isDroppableCtdropDerivedSimples dropDerivedWCtyCoVarsOfWCList tyCoVarsOfWCtyCoVarsOfCtsList tyCoVarsOfCtstyCoVarsOfCtList tyCoVarsOfCtctEqRel ctFlavourmkTcEqPredLikeEvctEvIdctPredctOriginsetCtLocctLoc ctEvidencemkGivens mkInsolubleCt mkIrredCtmkNonCanonicalCtmkNonCanonicalholeOcchasCompleteSig isPartialSigplusImportAvailsemptyImportAvails modDepsElts mkModDeps pprPECategorypprTcTyThingCategorythLevel outerLevelimpLeveltopSpliceStage topAnnStagetopStageremoveBindingShadowingtcVisibleOrphanMods NameShape ns_mod_name ns_exportsns_mapTcRnIfTcRnIfMIfGIfLDsMRnMTcMEnvenv_topenv_usenv_gblenv_lclIfGblEnvif_doc if_rec_typesIfLclEnvif_modif_bootif_loc if_nsubstif_implicits_env if_tv_env if_id_envDsGblEnvds_modds_fam_inst_env ds_unqualds_msgs ds_if_envds_complete_matchesds_cc_stDsLclEnvdsl_metadsl_loc dsl_dicts dsl_tm_cs dsl_pm_iter DsMetaEnv DsMetaValDsBoundDsSpliceFrontendResultFrontendTypecheckTcGblEnvtcg_type_env_vartcg_modtcg_semantic_modtcg_src tcg_rdr_env tcg_default tcg_fix_env tcg_field_env tcg_type_env tcg_inst_envtcg_fam_inst_env tcg_ann_env tcg_exports tcg_importstcg_dus tcg_used_grestcg_keep tcg_th_usedtcg_th_splice_usedtcg_th_top_level_locs tcg_dfun_n tcg_mergedtcg_rn_exportstcg_rn_imports tcg_rn_declstcg_dependent_filestcg_th_topdeclstcg_th_foreign_filestcg_th_topnamestcg_th_modfinalizerstcg_th_coreplugins tcg_th_statetcg_th_remote_state tcg_ev_binds tcg_tr_module tcg_bindstcg_sigs tcg_imp_specs tcg_warnstcg_annstcg_tcs tcg_insts tcg_fam_insts tcg_rules tcg_fords tcg_patsyns tcg_doc_hdrtcg_hpc tcg_self_boottcg_main tcg_safeInfertcg_tc_plugins tcg_top_loc tcg_static_wctcg_complete_matches tcg_cc_st RecFieldEnv SelfBootInfo NoSelfBootSelfBootsb_mdssb_tcsTcLclEnvtcl_loctcl_ctxt tcl_tclvl tcl_th_ctxt tcl_th_bndrstcl_arrow_ctxttcl_rdrtcl_env tcl_bndrs tcl_tyvarstcl_lietcl_errsErrCtxt TcTypeEnvTcRefTcIdTcIdSet TcBinderStackTcBinderTcIdBndrTcIdBndr_ExpTypeTcTvBndr SpliceTypeTypedUntypedThStageSplice RunSpliceCompBrack PendingStuffRnPendingUntypedRnPendingTyped TcPendingThLevel ArrowCtxt NoArrowCtxt TcTyThingAGlobalATcIdATyVarATcTyCon APromotionErrtct_idtct_info PromotionErrTyConPEClassPE FamDataConPEConstrainedDataConPEPatSynPE PatSynExPE RecDataConPE NoDataKindsTC NoDataKindsDC IdBindingInfo NotLetBound ClosedLet NonClosedLet IsGroupClosedRhsNames ClosedTypeId ImportAvails imp_dep_modsimp_mods imp_dep_pkgsimp_trust_pkgsimp_trust_own_pkg imp_orphs imp_finsts WhereFrom ImportByUserImportBySystemImportByPluginTcSigFun TcSigInfoTcIdSig TcPatSynSig TcIdSigInfo CompleteSig PartialSigsig_bndrsig_ctxtsig_loc psig_name psig_hs_ty TcIdSigInstTISI sig_inst_sigsig_inst_skolssig_inst_theta sig_inst_tau sig_inst_wcs sig_inst_wcx TcPatSynInfoTPSI patsig_namepatsig_implicit_bndrspatsig_univ_bndrs patsig_reqpatsig_ex_bndrs patsig_provpatsig_body_tyXiCtsCtCDictCan CIrredCanCTyEqCan CFunEqCan CNonCanonicalCHoleCan CQuantCancc_evcc_class cc_tyargs cc_pend_sccc_insolcc_tyvarcc_rhs cc_eq_relcc_funcc_fskcc_holeQCInstQCIqci_evqci_tvsqci_pred qci_pend_scHoleExprHoleTypeHoleWantedConstraintsWC wc_simplewc_impl ImplicationImplicic_tclvlic_skolsic_info ic_telescopeic_given ic_no_eqsic_env ic_wantedic_binds ic_need_inner ic_need_outer ic_status ImplicStatus IC_Solved IC_InsolubleIC_BadTelescope IC_Unsolvedics_deadTcEvDest EvVarDestHoleDest CtEvidenceCtGivenCtWanted CtDerived ctev_pred ctev_evarctev_loc ctev_dest ctev_nosh CtFlavourGivenWantedDerived ShadowInfoWDerivWOnly CtFlavourRole SubGoalDepthCtLoc ctl_originctl_env ctl_t_or_k ctl_depth SkolemInfoSigSkol SigTypeSkol ForAllSkol DerivSkolInstSkolInstSC FamInstSkolPatSkol ArrowSkolIPSkolRuleSkol InferSkol BracketSkolUnifyForAllSkol TyConSkol DataConSkol ReifySkol QuantCtxtSkolUnkSkolCtOrigin GivenOrigin OccurrenceOfOccurrenceOfRecSel AppOriginSpecPragOrigin TypeEqOrigin KindEqOrigin IPOccOriginOverLabelOrigin LiteralOrigin NegateOriginArithSeqOrigin SectionOrigin TupleOrigin ExprSigOrigin PatSigOrigin PatOriginProvCtxtOriginRecordUpdOrigin ViewPatOriginScOriginDerivClauseOrigin DerivOriginDCDerivOriginCoerceStandAloneDerivOrigin DefaultOriginDoOrigin DoPatOrigin MCompOriginMCompPatOriginIfOrigin ProcOrigin AnnOrigin FunDepOrigin1 FunDepOrigin2 HoleOriginUnboundOccurrenceOf ListOrigin StaticOriginFailablePatternShouldn'tHappenOriginInstProvidedOrigin uo_actual uo_expecteduo_thing uo_visible TypeOrKind TypeLevel KindLevelTcPluginSolver TcPluginMTcPlugin tcPluginInit tcPluginSolve tcPluginStopTcPluginResultTcPluginContradiction TcPluginOk RoleAnnotEnvHscTypesextendCompleteMatchMapmkCompleteMatchMapHscEnv FindResultFound NoPackage FoundMultipleNotFoundfr_pathsfr_pkgfr_mods_hiddenfr_pkgs_hidden fr_unusablesfr_suggestions CompleteMatchcompleteMatchConLikescompleteMatchTyConCompleteMatchMap TcEvidencewrapIPunwrapIP pprHsWrapper evVarsOfTermfindNeededEvVarsevTermCoercionevTermCoercion_maybeisEmptyTcEvBindsemptyTcEvBindsmkEvScSelectorsmkEvCast evTypeable evSelector evDFunAppevCast evCoercionevId mkGivenEvBindmkWantedEvBind evBindVarfilterEvBindMap foldEvBindMapevBindMapBinds lookupEvBindisEmptyEvBindMap extendEvBindsemptyEvBindMapisNoEvBindsVarcollectHsWrapBinders isIdHsWrapper idHsWrappermkWpLetmkWpLams mkWpTyLams mkWpEvVarApps mkWpEvApps mkWpTyApps mkWpCastN mkWpCastRmkWpFunsmkWpFun<.>isTcReflexiveCo isTcReflCo coVarsOfTcCotcCoercionRoletcCoercionKind mkTcCoVarCo mkTcKindCo mkTcPhantomComkTcCoherenceRightComkTcCoherenceLeftComkTcAxiomRuleCotcDowngradeRole maybeTcSubCo mkTcSubComkTcLRCo mkTcNthCo mkTcForAllCos mkTcForAllComkTcUnbranchedAxInstCo mkTcAxInstCo mkTcFunCo mkTcAppComkTcTyConAppCo mkTcRepReflCo mkTcNomReflCo mkTcTransCo mkTcSymCo mkTcReflCo TcCoercion TcCoercionN TcCoercionR TcCoercionP HsWrapperWpHole WpComposeWpFunWpCastWpEvLamWpEvAppWpTyLamWpTyAppWpLet TcEvBindsEvBinds EvBindsVar NoEvBindsVarebv_uniq ebv_bindsebv_tcvs EvBindMapev_bind_varenvEvBindeb_lhseb_rhs eb_is_givenEvTerm EvTypeableEvExprEvFunet_tvset_givenet_bindset_bodyEvTypeableTyConEvTypeableTyAppEvTypeableTrFunEvTypeableTyLit EvCallStack EvCsEmpty EvCsPushCallTcTypemkCheckExpType TcThetaType TcTauTypeTcKind TcTyVarSetExpTypeCheckInfer ExpSigmaType ExpRhoType FamInstEnv flattenTys normaliseTypenormaliseTcArgsnormaliseTcApptopNormaliseType_maybetopNormaliseTypeapartnessCheckreduceTyFamApp_maybe isDominatedBy$lookupFamInstEnvInjectivityConflictslookupFamInstEnvConflictslookupFamInstEnvlookupFamInstEnvByTyConmkNewTypeCoAxiommkSingleCoAxiommkUnbranchedCoAxiommkBranchedCoAxiom mkCoAxBranchinjectiveBranchesextendFamInstEnvextendFamInstEnvListfamilyInstancesfamInstEnvSizefamInstEnvEltsemptyFamInstEnvemptyFamInstEnvsmkImportedFamInst pprFamInsts pprFamInstdataFamInstRepTyConfamInstRepTyCon_maybefamInstsRepTyCons famInstTyCon famInstRHS famInstAxiomfi_axiom fi_flavorfi_famfi_tcsfi_tvsfi_cvsfi_tysfi_rhs FamFlavor SynFamilyInstDataFamilyInst FamInstEnvsInjectivityCheckResultInjectivityAcceptedInjectivityUnified FamInstMatch fim_instancefim_tysfim_cos NameCacheextendNameCachelookupOrigNameCache TysWiredInpromotedNilDataConpromotedConsDataConpromotedGTDataConpromotedEQDataConpromotedLTDataConpromotedJustDataConpromotedNothingDataConpromotedFalseDataConpromotedTrueDataConmkSumTyunitTy mkTupleTy justDataConnothingDataCon maybeTyCon consDataCon nilDataConmkListTy gtDataConId eqDataConId ltDataConId gtDataCon eqDataCon ltDataCon orderingTyCon trueDataConIdfalseDataConId trueDataCon falseDataCon boolTyConboolTy doubleDataCon doubleTyCondoubleTy floatDataCon floatTyConfloatTy word8DataCon word8TyConword8Ty wordDataCon wordTyConwordTy intDataConintTyConintTystringTy charDataCon charTyConcharTyboxingDataCon_maybe liftedRepTyliftedRepDataConsumRepDataConTyConliftedTypeKindTyConcoercibleDataConcoercibleClass heqDataConheqClassunboxedSumKind sumDataConsumTyConunboxedUnitDataConunboxedUnitTyCon pairTyCon unitDataConId unitDataCon unitTyConKey unitTyCon tupleDataConpromotedTupleDataContupleTyConName tupleTyConcTupleDataConNamescTupleDataConNamecTupleTyConNameArity_maybeisCTupleTyConNamecTupleTyConNamescTupleTyConNameisBuiltInOcc_maybeconstraintKindTyContypeSymbolKindContypeNatKindConconsDataCon_RDR listTyCon_RDRintDataCon_RDR charTyCon_RDR intTyCon_RDRtrue_RDR false_RDR boolTyCon_RDRliftedTypeKindTyConNameanyTyanyTyCondoubleTyConNamefloatTyConNameword8TyConName wordTyConNamejustDataConNamenothingDataConNamemaybeTyConNameconsDataConNamenilDataConName listTyConName boolTyConName intTyConName charTyConNamecoercibleTyConNamemkWiredInIdNamemkWiredInTyConName wiredInTyConsIdisNeverLevPolyIdtransferPolyIdInfozapStableUnfoldingzapIdTailCallInfozapIdUsedOnceInfozapIdUsageEnvInfozapIdUsageInfozapIdDemandInfozapFragileIdInfo zapLamIdInfoupdOneShotInfosetIdOneShotInfoclearOneShotLambdasetOneShotLambdaisProbablyOneShotLambdaisStateHackType typeOneShotstateHackOneShot isOneShotBndridStateHackOneShotInfo idOneShotInfo isConLikeIdidRuleMatchInfosetInlineActivationidInlineActivationmodifyInlinePragmasetInlinePragmaidInlinePragma zapIdOccInfo setIdOccInfo idOccInfo setIdCafInfo idCafInfosetIdSpecialisation idHasRules idCoreRulesidSpecialisationsetCaseBndrEvaldsetIdDemandInfo idDemandInfosetIdUnfoldingrealIdUnfolding idUnfolding isStrictIdzapIdStrictnesssetIdStrictness idStrictness isBottomingId idFunRepAritysetIdCallArity idCallArity setIdArityidArityasJoinId_maybe zapJoinIdasJoinId idJoinArityisDictIdisEvVar isDeadBinderidIsFrom isImplicitId hasNoBinding idDataConisJoinId_maybeisJoinIdisDataConId_maybeisDataConWorkId_maybeisDataConWorkIdisFCallId_maybe isFCallIdisPrimOpId_maybeisDFunId isPrimOpIdisClassOpId_maybeisNaughtyRecordSelectorisPatSynRecordSelectorisDataConRecordSelectorisRecordSelectorrecordSelectorTyConmkTemplateLocalsNummkTemplateLocalsmkTemplateLocal mkWorkerIdmkUserLocalOrCoVar mkUserLocalmkSysLocalOrCoVarM mkSysLocalMmkSysLocalOrCoVar mkSysLocalmkExportedVanillaIdmkExportedLocalIdmkLocalIdWithInfomkLocalIdOrCoVarWithInfomkLocalIdOrCoVar mkLocalCoVar mkLocalIdmkVanillaGlobalWithInfomkVanillaGlobal mkGlobalIdmaybeModifyIdInfo modifyIdInfo setIdInfo lazySetIdInfo localiseIdsetIdNotExported setIdExported setIdType setIdUnique setIdNameidTypeidUniqueidNameCoreSyncollectNAnnBndrscollectAnnBndrs deAnnBinddeAnnAlt deAnnotate' deAnnotatecollectAnnArgsTickscollectAnnArgs valArgCount valBndrCount isTypeArg isTyCoArgisValArg isRuntimeArg isRuntimeVarcollectArgsTicks stripNArgs collectArgscollectNBinderscollectTyAndValBinderscollectTyBinderscollectBinders flattenBinds rhssOfAlts rhssOfBindbindersOfBinds bindersOfexprToCoercion_maybe exprToTypeapplyTypeToArgvarsToCoreExprs varToCoreExprmkCoBindmkTyBindmkLetRec mkLetNonRecmkLetmkLetsmkLamsmkDoubleLitDouble mkDoubleLitmkFloatLitFloat mkFloatLit mkStringLit mkCharLitmkInt64LitInt64mkWord64LitWord64 mkWordLitWord mkWordLit mkIntLitIntmkIntLitmkTyArg mkConApp2mkTyAppsmkConApp mkVarAppsmkCoAppsmkApps deTagExpr cmpAltConltAltcmpAlt canUnfoldisFragileUnfoldingneverUnfoldGuidanceisBootUnfoldinghasSomeUnfoldingisStableUnfoldingisCompulsoryUnfoldingexpandUnfolding_maybeisExpandableUnfoldingisCheapUnfoldingisConLikeUnfoldingisEvaldUnfoldingisValueUnfolding otherConsmaybeUnfoldingTemplateunfoldingTemplateisStableSource mkOtherCon bootUnfoldingevaldUnfolding noUnfoldingboringCxtNotOk boringCxtOk unSaturatedOk needSaturated setRuleIdName isLocalRule ruleIdNameruleActivation ruleModuleruleName ruleArity isAutoRule isBuiltinRule emptyRuleEnv mkRuleEnvchooseOrphanAnchor notOrphanisOrphantickishContains tickishPlace tickishIsCode mkNoScope mkNoCounttickishCanSplittickishFloatabletickishScopesLike tickishScoped tickishCountsExprCoercionTypeVarAppLitLamLetCaseCastTickArgAltAltConDataAltLitAltDEFAULTNonRecRecInBndrInTypeInKindInBindInExprInAltInArg InCoercionOutBndrOutTypeOutKind OutCoercionOutBindOutExprOutAltOutArg MOutCoercionTickishProfNoteHpcTick Breakpoint SourceNote profNoteCC profNoteCount profNoteScope tickModuletickId breakpointId breakpointFVs sourceSpan sourceNameTickishScopingNoScope SoftScopeCostCentreScopeTickishPlacement PlaceRuntime PlaceNonLamPlaceCostCentreIsOrphan NotOrphanRuleBaseRuleEnvre_basere_visible_orphsCoreRuleRule BuiltinRuleru_nameru_actru_fnru_roughru_bndrsru_argsru_rhsru_auto ru_origin ru_orphanru_localru_nargsru_tryRuleFun InScopeEnvIdUnfoldingFun Unfolding NoUnfolding BootUnfoldingOtherCon DFunUnfolding CoreUnfoldingdf_bndrsdf_condf_argsuf_tmpluf_src uf_is_top uf_is_value uf_is_conlikeuf_is_work_free uf_expandable uf_guidanceUnfoldingSource InlineRhs InlineStableInlineCompulsoryUnfoldingGuidanceUnfWhen UnfIfGoodArgsUnfNeverug_arity ug_unsat_ok ug_boring_okug_argsug_sizeug_res CoreProgramCoreBndrCoreExprCoreArgCoreBindCoreAlt TaggedBndrTB TaggedBind TaggedExpr TaggedArg TaggedAltAnnExprAnnExpr'AnnTypeAnnLetAnnLamAnnCaseAnnVarAnnLitAnnAppAnnCastAnnTick AnnCoercionAnnAltAnnBindAnnRec AnnNonRecDataCon buildSynTyCon buildAlgTyConsplitDataProductType_maybepromoteDataCondataConUserTyVarsArePermuteddataConCannotMatch classDataConspecialPromotedDcisVanillaDataConisUnboxedTupleConisTupleDataCondataConIdentitydataConRepArgTysdataConOrigArgTysdataConInstArgTysdataConUserTypedataConOrigResTydataConInstSig dataConSig dataConBoxerdataConImplBangsdataConRepStrictnessisNullaryRepDataConisNullarySrcDataCondataConRepAritydataConSrcBangsdataConFieldType_maybedataConFieldTypedataConImplicitTyThings dataConWrapIddataConWrapId_maybe dataConWorkId dataConTheta dataConEqSpecdataConUnivAndExTyVarsdataConUnivTyVarsdataConIsInfixdataConRepTypedataConOrigTyCon dataConTagZ dataConTag mkDataConisMarkedStrict isSrcUnpacked isSrcStrictisBangedeqHsBang filterEqSpec substEqSpec eqSpecPreds eqSpecPair eqSpecType eqSpecTyVarmkEqSpec HsSrcBang HsImplBangHsLazyHsStrictHsUnpack SrcStrictnessSrcLazy SrcStrict NoSrcStrictSrcUnpackedness SrcUnpack SrcNoUnpack NoSrcUnpackStrictnessMark MarkedStrictNotMarkedStrict pprWithTYPE setJoinResTymodifyJoinResTysplitVisVarsOfTypessplitVisVarsOfTypesynTyConResKind tyConsOfTypeoccCheckExpandresultIsLevPoly isTypeLevPolytypeKind nonDetCmpTcnonDetCmpTypesXnonDetCmpTypeXnonDetCmpTypes nonDetCmpType eqVarBndrseqTypeseqTypeXseqTypesseqTypeisValidJoinPointTypeisPrimitiveType isStrictTypeisDataFamilyAppType isAlgTypeisUnboxedSumTypeisUnboxedTupleTypegetRuntimeRepFromKind_maybegetRuntimeRepFromKind getRuntimeRepgetRuntimeRep_maybedropRuntimeRepArgsisRuntimeRepKindedTyisUnliftedTypeisLiftedType_maybe isFamFreeTypprSourceTyCon coAxNthLHSmkFamilyTyConAppdVarSetElemsWellScoped predTypeEqRel getEqPredRolegetEqPredTys_maybe getEqPredTysgetClassPredTys_maybegetClassPredTysclassifyPredType eqRelRole isDictLikeTyisDictTy mkClassPred equalityTyConmkReprPrimEqPredsplitCoercionType_maybemkHeteroReprPrimEqPredmkHeteroPrimEqPred mkPrimEqPredmkPrimEqPredRoleisIPPred_maybe isCTupleClass isIPClass isIPTyConisIPPred isNomEqPredisEqPred isClassPredtcReturnsConstraintKindtcIsLiftedTypeKindtcIsConstraintKindtcSplitTyConApp_maybe caseBinderbinderRelevantType_maybe tyBinderTypetyBinderVar_maybeisNamedTyBinderisAnonTyBinder mkAnonBinderisTauTypartitionInvisiblesfilterOutInvisibleTypessplitPiTysInvisible splitPiTys splitPiTysplitPiTy_maybesplitForAllTy_maybe dropForAlls splitForAllTyisPiTy isForAllTysplitForAllTyVarBndrssplitForAllTysmkTyConBindersPreferAnon mkLamTypes mkLamTypemkVisForAllTysmkSpecForAllTysmkInvForAllTys mkInvForAllTystripCoercionTyisCoercionTy_maybe mkCoercionTytyConBindersTyBinderssplitCastTy_maybenewTyConInstRhsnextRolesplitListTyConApp_mayberepSplitTyConApp_maybe splitTyConApp tyConAppArgN tyConAppArgstyConAppArgs_maybe tyConAppTyContyConAppTyCon_maybetyConAppTyConPicky_maybe mkTyConApp applyTysX piResultTysfunArgTy funResultTy splitFunTyssplitFunTy_maybe splitFunTyisFunTypprUserTypeErrorTyuserTypeError_maybe isStrLitTy mkStrLitTy isNumLitTy mkNumLitTyrepSplitAppTys splitAppTys splitAppTytcRepSplitTyConApp_maybetcRepSplitAppTy_mayberepSplitAppTy_maybesplitAppTy_maybemkAppTysrepGetTyVar_maybegetCastedTyVar_maybegetTyVar_maybe isTyVarTygetTyVar mapCoercionmapTypeexpandTypeSynonyms TyCoMapper tcm_smart tcm_tyvar tcm_covartcm_hole tcm_tybinder tcm_tyconEqRelNomEqReprEqPredTree ClassPredEqPred IrredPred ForAllPredTysPrimfunTyCon coercionSizetypeSizetidyCostidyCotidyKind tidyOpenKind tidyTopType tidyOpenType tidyOpenTypestidyType tidyTypes tidyTyVarOcctidyOpenTyCoVartidyOpenTyCoVarstidyFreeTyCoVarstidyTyVarBinderstidyTyVarBindertidyTyCoVarBndrtidyTyCoVarBndrsppSuggestExplicitKinds pprTypeApppprTyVar pprTyVars pprTvBndr pprTvBndrs pprUserForAll pprForAll pprSigmaTypepprThetaArrowTypprParendThetapprTheta pprClassPred pprParendCopprCo pprParendKind pprPrecType pprParendTypecloneTyVarBndrscloneTyVarBndrsubstCoVarBndrsubstTyVarBndrssubstTyVarBndr lookupCoVar substCoVars substCoVarsubstCossubstCoUncheckedsubstCo lookupTyVar substTyVars substTyVarsubstThetaUnchecked substThetasubstTysUncheckedsubstTyssubstTyUncheckedsubstTysubstTyAddInScope substTysWithsubstTyWithCoVarssubstCoWithUnchecked substCoWithsubstTyWithUnchecked substTyWithzipCoEnvzipTyEnv mkTvSubstPrs zipTvSubst unionTCvSubstextendTvSubstListextendTvSubstAndInScope extendCvSubstextendTvSubstWithCloneextendTvSubstBinderAndInScope extendTvSubstextendTCvSubstextendTCvInScopeSetextendTCvInScopeListextendTCvInScope zapTCvSubst setTvSubstEnvnotElemTCvSubst isInScopegetTCvSubstRangeFVs getTCvInScope getCvSubstEnv getTvSubstEnv mkTvSubst mkTCvSubstisEmptyTCvSubstmkEmptyTCvSubst emptyTCvSubstcomposeTCvSubstcomposeTCvSubstEnvemptyCvSubstEnvemptyTvSubstEnvnoFreeVarsOfTypecloseOverKindsDSetcloseOverKindsListcloseOverKinds coVarsOfCo coVarsOfTypes coVarsOfType tyCoFVsOfCos tyCoVarsOfCos tyCoFVsOfCotyCoVarsOfCoDSet tyCoVarsOfCotyCoFVsOfTypestyCoVarsOfTypesListtyCoVarsOfTypesDSettyCoVarsOfTypes tyCoFVsBndr tyCoFVsOfTypetyCoVarsOfTypeListtyCoVarsOfTypeDSettyCoVarsOfTypesetCoHoleCoVar coHoleCoVarisRuntimeRepVarisUnliftedTypeKindisLiftedTypeKind mkTyConTyisCoercionTypemkPiTysmkPiTy mkForAllTys mkForAllTymkFunTys mkTyVarTys mkTyVarTyisVisibleBinderisInvisibleBindertyThingCategorypprTyThingCategorypprShortTyThing KindOrTypeKnotTied CoercionN CoercionR CoercionP MCoercionMReflMCo MCoercionR CoercionHole ch_co_varch_ref TvSubstEnv CvSubstEnvisPredTy isCoercionTymkAppTymkCastTy piResultTyeqTypecoreViewtcViewtyCoVarsOfTypesWellScopedtyCoVarsOfTypeWellScopedtoposortTyVarssplitTyConApp_maybeTyCon tyConSkolem checkRecTc initRecTcpprPromotionQuotetcFlavourIsOpentcFlavourCanBeUnsaturated tyConFlavour mkTyConTagMaptyConRuntimeRepInfotyConFamilyCoercion_maybetyConFamInst_maybetyConFamInstSig_maybeisFamInstTyContyConATstyConClass_maybe isClassTyConfamTyConFlav_maybesynTyConRhs_maybesynTyConDefn_maybetyConStupidThetanewTyConDataCon_maybe newTyConConewTyConCo_maybenewTyConEtadRhsnewTyConEtadArity newTyConRhs tyConRolestyConFamilyResVar_maybe algTyConRhstyConFamilySizetyConSingleAlgDataCon_maybetyConSingleDataContyConSingleDataCon_maybetyConDataCons_maybe tyConDataConsisTyConWithSrcDataConsexpandSynTyCon_maybe isTcLevPoly isTcTyContyConCType_maybeisImplicitTyConisLiftedTypeKindTyConName isKindTyConisPromotedDataCon_maybeisPromotedDataConisPromotedTupleTyConisUnboxedSumTyConisBoxedTupleTyContyConTuple_maybetyConAssoc_maybe isTyConAssocisBuiltInSynFamTyCon_maybetyConInjectivityInfo%isClosedSynFamilyTyConWithAxiom_maybeisOpenTypeFamilyTyConisDataFamilyTyConisTypeFamilyTyConisOpenFamilyTyCon isFamilyTyConisEnumerationTyConisGadtSyntaxTyConmightBeUnsaturatedTyConisFamFreeTyCon isTauTyConisTypeSynonymTyConisDataSumTyCon_maybeisDataProductTyCon_maybeisProductTyConunwrapNewTyConEtad_maybeunwrapNewTyCon_maybe isNewTyConisGenInjAlgRhsisGenerativeTyConisInjectiveTyCon isDataTyConisVanillaAlgTyCon isAlgTyConisUnliftedTyCon isPrimTyConmakeRecoveryTyConisAbstractTyConmkPromotedDataCon mkFamilyTyConmkSynonymTyConmkLiftedPrimTyCon mkKindTyCon mkPrimTyCon mkTcTyCon mkSumTyCon mkTupleTyCon mkClassTyCon mkAlgTyCon mkFunTyConlookupTyConFieldLabeltyConFieldLabelsprimRepIsFloatprimElemRepSizeB primRepSizeB isGcPtrRep isVoidReptyConRepModOccmkPrelTyConRepNametyConRepName_maybe isNoParentvisibleDataConsmkDataTyConRhstyConVisibleTyVarstyConTyVarBinders mkTyConKindisInvisibleTyConBinderisVisibleTyConBinderisNamedTyConBindertyConBndrVisArgFlagtyConBinderArgFlagmkNamedTyConBindersmkNamedTyConBindermkAnonTyConBindersmkAnonTyConBinder TyConBinder TyConBndrVisNamedTCBAnonTCB AlgTyConRhs AbstractTyCon DataTyCon TupleTyConSumTyConNewTyCon data_consdata_cons_sizeis_enumdata_contup_sortnt_rhs nt_etad_rhsnt_coRuntimeRepInfo RuntimeRepVecCountVecElemNoRRI AlgTyConFlavVanillaAlgTyConUnboxedAlgTyCon ClassTyConDataFamInstTyCon Injectivity NotInjective Injective FamTyConFlavDataFamilyTyConOpenSynFamilyTyConClosedSynFamilyTyConAbstractClosedSynFamilyTyConBuiltInSynFamTyCon TyConRepNamePrimRepVecRep LiftedRep UnliftedRepIntRepWordRepInt64Rep Word64RepAddrRepFloatRep DoubleRepVoidRep PrimElemRep Int8ElemRep Int16ElemRep Int32ElemRep Int64ElemRep Word8ElemRep Word16ElemRep Word32ElemRep Word64ElemRep FloatElemRep DoubleElemRep TyConFlavour ClassFlavour TupleFlavour SumFlavourDataTypeFlavourNewtypeFlavourAbstractTypeFlavourDataFamilyFlavourOpenTypeFamilyFlavourClosedTypeFamilyFlavourTypeSynonymFlavourBuiltInTypeFlavourPromotedDataConFlavour RecTcCheckerClass pprFunDep pprFundepspprDefMethInfoisAbstractClassclassExtraBigSig classBigSig classHasFds classTvsFds classSCTheta classATItemsclassATs classOpItems classMethods classSCSelId classSCSelIdsclassAllSelIds classAritymkAbstractClassmkClassclassMinimalDef classTyCon classNameclassKey classTyVarsFunDep ClassOpItem DefMethInfo ClassATItemATIClassMinimalDefCoAxiomRoleNominalRepresentationalPhantom dataConName dataConTyCondataConExTyVarsdataConUserTyVarsdataConUserTyVarBindersdataConSourceAritydataConFieldLabelsdataConInstOrigArgTysdataConStupidThetadataConFullSigisUnboxedSumCon DataConRep NoDataConRepDCR dcr_wrap_id dcr_boxer dcr_arg_tys dcr_stricts dcr_bangsEqSpec mkFunKind mkForAllKind listTyContypeSymbolKind typeNatKindmkBoxedTupleTyheqTyConcoercibleTyConliftedTypeKindconstraintKind vecElemTyCon vecCountTyConruntimeRepTyCon runtimeRepTytupleRepDataConTyConvecRepDataConTyConliftedRepDataConTyCondoubleRepDataConTyfloatRepDataConTyaddrRepDataConTyword64RepDataConTyint64RepDataConTywordRepDataConTyintRepDataConTyunliftedRepDataConTyliftedRepDataConTyvec64DataConTyvec32DataConTyvec16DataConTy vec8DataConTy vec4DataConTy vec2DataConTydoubleElemRepDataConTyfloatElemRepDataConTyword64ElemRepDataConTyword32ElemRepDataConTyword16ElemRepDataConTyword8ElemRepDataConTyint64ElemRepDataConTyint32ElemRepDataConTyint16ElemRepDataConTyint8ElemRepDataConTy anyTypeOfKindunboxedTupleKindmkPromotedListTy isExportedId isGlobalId isLocalIdisIdisTyVar globaliseId idDetailsidInfo tyVarKindmkTyVarBinders mkTyVarBinder binderKind binderArgFlag binderVars binderVarsameVisisInvisibleArgFlagisVisibleArgFlagTyVarTcTyVarDictIdJoinIdTyCoVarInVarInTyVarInCoVarInIdOutVarOutTyVarOutCoVarOutIdArgFlagInferred SpecifiedRequired TyVarBinder PrelNames nilDataConKey listTyConKeyRdrNamestarInfopprNameProvenanceisExplicitItemimportSpecModule importSpecLoc qualSpecOK unQualSpecOK bestImport shadowNamesextendGlobalRdrEnv transformGREsmkGlobalRdrEnvplusGlobalRdrEnvpickGREsModExppickGREsunQualOKgreLabel isRecFldGRE isLocalGREgetGRE_NameQualifier_maybeslookupGRE_Name_OccNamelookupGRE_FieldLabellookupGRE_NamelookupGRE_RdrName greOccNamelookupGlobalRdrEnvpprGlobalRdrEnvglobalRdrEnvEltsemptyGlobalRdrEnv availFromGREgresToAvailInfo greSrcSpan greRdrNamesgreUsedRdrNamegreQualModName gresFromAvaillocalGREsFromAvailgresFromAvailsdelLocalRdrEnvListinLocalRdrEnvScopelocalRdrEnvEltselemLocalRdrEnvlookupLocalRdrOcclookupLocalRdrEnvextendLocalRdrEnvListextendLocalRdrEnvemptyLocalRdrEnv isExact_maybeisExact isOrig_maybeisOrig isQual_maybeisQualisUnqual isSrcRdrNameisRdrTc isRdrTyVar isRdrDataCon nameRdrName getRdrNamemkQual mkVarUnqualmkUnqualmkOrig mkRdrQual mkRdrUnqual demoteRdrName rdrNameSpace rdrNameOccUnqualQualOrigExact LocalRdrEnv GlobalRdrEnv GlobalRdrEltGREgre_namegre_pargre_lclgre_impParentNoParentParentIs FldParentpar_ispar_lbl ImportSpecImpSpecis_declis_item ImpDeclSpecis_modis_asis_qualis_dloc ImpItemSpecImpAllImpSome is_explicitis_ilocErrUtilstraceCmdisWarnMsgFatalprettyPrintGhcErrors logOutputlogInfoprintOutputForUserprintInfoForUserputMsg debugTraceMsg withTimingshowPasscompilationProgressMsgfatalErrorMsg'' fatalErrorMsg warningMsgerrorMsg mkDumpDocdumpIfSet_dyn_printer dumpIfSet_dyn dumpIfSet doIfSet_dyndoIfSetghcExit pprLocErrMsgpprErrMsgBagWithLoc formatErrDocprintBagOfErrors errorsFoundisEmptyMessages emptyMessagesmkPlainWarnMsg mkWarnMsg mkLongWarnMsg mkPlainErrMsgmkErrMsg mkLongErrMsgmkErrDocmakeIntoWarning pprMessageBagerrDoc unionMessagesorValid getInvalidsallValidandValidisValidValidityIsValidNotValidMessagesWarningMessages ErrorMessagesErrMsg errMsgSpan errMsgContext errMsgDocerrMsgSeverity errMsgReasonErrDocerrDocImportant errDocContexterrDocSupplementaryWarnMsgIOEnvupdEnvsetEnvgetEnvatomicUpdMutVar'atomicUpdMutVar updMutVar readMutVar writeMutVar newMutVaruninterruptibleMaskM_unsafeInterleaveMtryMostMtryAllMtryMfixMrunIOEnv failWithMfailM IOEnvFailure FieldLabelFieldLabelStringFieldLblflLabelflIsOverloaded flSelectorName pprPrefixName pprInfixNamegetOccFS getOccString getSrcSpan getSrcLocnameStableStringpprNameDefnLoc pprDefinedAtpprModulePrefixpprNameUnqualified stableNameCmp localiseName tidyNameOcc setNameLoc setNameUnique mkFCallName mkSysTvNamemkSystemVarNamemkSystemNameAt mkSystemName mkWiredInNamemkExternalNamemkDerivedInternalNamemkClonedInternalNamemkInternalName isSystemName isVarName isValName isDataConName isTyConName isTyVarNamenameIsFromExternalPackagenameIsHomePackageImportnameIsHomePackagenameIsLocalOrFromnameModule_maybe nameModule isHoleNameisInternalNameisExternalNameisBuiltInSyntaxwiredInNameTyThing_maybe isWiredInName nameSrcSpan nameSrcLoc nameOccName nameUnique BuiltInSyntax UserSyntax NamedThing getOccNamegetNameOccName tidyOccNameavoidClashesOccEnvinitTidyOccEnvemptyTidyOccEnv mkMethodOcc mkDataCOcc mkDataTOcc mkDFunOcc mkInstTyTcOcc mkLocalOccmkSuperDictSelOccmkSuperDictAuxOccmkDataConWorkerOccmkRecFldSelOccmkGen1RmkGenR mkTyConRepOcc mkMaxTagOcc mkTag2ConOcc mkCon2TagOcc mkEqPredCoOcc mkInstTyCoOcc mkNewTyCoOccmkClassDataConOcc mkRepEqOccmkForeignExportOcc mkSpecOccmkIPOcc mkDictOccmkClassOpAuxOccmkDefaultMethodOcc mkBuilderOcc mkMatcherOcc mkWorkerOccmkDataConWrapperOccisTypeableBindOccisDefaultMethodOccisDerivedOccNamestartsWithUnderscore parenSymOccisSymOcc isDataSymOcc isDataOccisValOccisTcOccisTvOccisVarOccsetOccNameSpace occNameString filterOccSetintersectsOccSetintersectOccSet isEmptyOccSet elemOccSet minusOccSetunionManyOccSets unionOccSetsextendOccSetList extendOccSetmkOccSet unitOccSet emptyOccSet pprOccEnv alterOccEnv filterOccEnvdelListFromOccEnv delFromOccEnv mkOccEnv_C mapOccEnvextendOccEnv_AccextendOccEnv_C plusOccEnv_C plusOccEnv occEnvElts foldOccEnv elemOccEnvmkOccEnv lookupOccEnvextendOccEnvList extendOccEnv unitOccEnv emptyOccEnvnameSpacesRelated demoteOccName mkClsOccFSmkClsOcc mkTcOccFSmkTcOcc mkTyVarOccFS mkTyVarOcc mkDataOccFS mkDataOcc mkVarOccFSmkVarOcc mkOccNameFS mkOccName pprOccNamepprNameSpaceBriefpprNonVarNameSpace pprNameSpaceisValNameSpaceisVarNameSpace isTvNameSpaceisTcClsNameSpaceisDataConNameSpacevarNametvName srcDataNamedataName tcClsNameclsNametcName NameSpace HasOccNameoccNameOccEnvOccSet TidyOccEnvDynFlagsemptyFilesToClean isBmi2Enabled isBmiEnabledisAvx512pfEnabledisAvx512fEnabledisAvx512erEnabledisAvx512cdEnabled isAvx2Enabled isAvxEnabledisSse4_2Enabled isSse2Enabled isSseEnabledsetUnsafeGlobalDynFlagsmakeDynFlagsConsistenttARGET_MAX_WORDtARGET_MAX_INTtARGET_MIN_INT mAX_PTR_TAGtAG_MASKwORD_SIZE_IN_BITS bLOCK_SIZE_WiLDV_STATE_USEiLDV_STATE_CREATEiLDV_CREATE_MASK lDV_SHIFTdYNAMIC_BY_DEFAULTwORDS_BIGENDIANtAG_BITSbITMAP_BITS_SHIFTcLONG_LONG_SIZE cLONG_SIZE cINT_SIZE dOUBLE_SIZE wORD_SIZEaP_STACK_SPLIMrESERVED_STACK_WORDSrESERVED_C_STACK_BYTESmAX_Real_Long_REGmAX_Real_XMM_REGmAX_Real_Double_REGmAX_Real_Float_REGmAX_Real_Vanilla_REG mAX_XMM_REG mAX_Long_REGmAX_Double_REG mAX_Float_REGmAX_Vanilla_REGmUT_ARR_PTRS_CARD_BITS mAX_CHARLIKE mIN_CHARLIKE mAX_INTLIKE mIN_INTLIKEmIN_PAYLOAD_SIZEmAX_SPEC_AP_SIZEmAX_SPEC_SELECTEE_SIZEoFFSET_StgFunInfoExtraRev_aritysIZEOF_StgFunInfoExtraRevoFFSET_StgFunInfoExtraFwd_arityoFFSET_StgUpdateFrame_updateeoFFSET_StgStack_stackoFFSET_StgStack_spoFFSET_StgTSO_stackobjoFFSET_StgTSO_cccsoFFSET_StgTSO_alloc_limitoFFSET_StgArrBytes_bytessIZEOF_StgArrBytes_NoHdroFFSET_StgSmallMutArrPtrs_ptrssIZEOF_StgSmallMutArrPtrs_NoHdroFFSET_StgMutArrPtrs_sizeoFFSET_StgMutArrPtrs_ptrssIZEOF_StgMutArrPtrs_NoHdrsIZEOF_StgUpdateFrame_NoHdr oFFSET_StgEntCounter_entry_countoFFSET_StgEntCounter_link oFFSET_StgEntCounter_registeredpoFFSET_StgEntCounter_allocdoFFSET_StgEntCounter_allocssIZEOF_StgSMPThunkHeaderoFFSET_StgHeader_ldvwoFFSET_StgHeader_ccs oFFSET_CostCentreStack_scc_count oFFSET_CostCentreStack_mem_allocsIZEOF_CostCentreStackoFFSET_bdescr_flagsoFFSET_bdescr_blocksoFFSET_bdescr_freeoFFSET_bdescr_startoFFSET_Capability_roFFSET_stgGCFunoFFSET_stgGCEnter1oFFSET_stgEagerBlackholeInfooFFSET_StgRegTable_rHpAlloc"oFFSET_StgRegTable_rCurrentNurseryoFFSET_StgRegTable_rCurrentTSOoFFSET_StgRegTable_rCCCSoFFSET_StgRegTable_rHpLimoFFSET_StgRegTable_rHpoFFSET_StgRegTable_rSpLimoFFSET_StgRegTable_rSpoFFSET_StgRegTable_rL1oFFSET_StgRegTable_rZMM6oFFSET_StgRegTable_rZMM5oFFSET_StgRegTable_rZMM4oFFSET_StgRegTable_rZMM3oFFSET_StgRegTable_rZMM2oFFSET_StgRegTable_rZMM1oFFSET_StgRegTable_rYMM6oFFSET_StgRegTable_rYMM5oFFSET_StgRegTable_rYMM4oFFSET_StgRegTable_rYMM3oFFSET_StgRegTable_rYMM2oFFSET_StgRegTable_rYMM1oFFSET_StgRegTable_rXMM6oFFSET_StgRegTable_rXMM5oFFSET_StgRegTable_rXMM4oFFSET_StgRegTable_rXMM3oFFSET_StgRegTable_rXMM2oFFSET_StgRegTable_rXMM1oFFSET_StgRegTable_rD6oFFSET_StgRegTable_rD5oFFSET_StgRegTable_rD4oFFSET_StgRegTable_rD3oFFSET_StgRegTable_rD2oFFSET_StgRegTable_rD1oFFSET_StgRegTable_rF6oFFSET_StgRegTable_rF5oFFSET_StgRegTable_rF4oFFSET_StgRegTable_rF3oFFSET_StgRegTable_rF2oFFSET_StgRegTable_rF1oFFSET_StgRegTable_rR10oFFSET_StgRegTable_rR9oFFSET_StgRegTable_rR8oFFSET_StgRegTable_rR7oFFSET_StgRegTable_rR6oFFSET_StgRegTable_rR5oFFSET_StgRegTable_rR4oFFSET_StgRegTable_rR3oFFSET_StgRegTable_rR2oFFSET_StgRegTable_rR1tICKY_BIN_COUNTbLOCKS_PER_MBLOCK bLOCK_SIZE pROF_HDR_SIZE sTD_HDR_SIZEcONTROL_GROUP_CONST_291 compilerInfopicPOpts picCCOpts setTmpDirinterpretPackageEnvcanonicalizeModuleIfHomecanonicalizeHomeModule setUnitIdunSetGeneralFlag'setGeneralFlag'addWay' dynamicGhc rtsIsProfiledglasgowExtsFlagswarningHierarchies warningGroupsxFlagssupportedLanguagesAndExtensions fLangFlagsfFlags wWarningFlagsflagsForCompletion flagsPackage flagsDynamicflagsAllallNonDeprecatedFlags updateWays putLogMsgparseDynamicFlagsFullparseDynamicFilePragmaparseDynamicFlagsCmdLine updOptLevelshowOptaddPluginModuleName thisPackagethisUnitIdInststhisComponentId getVerbFlagsgetOptsunsafeFlagsForInfer unsafeFlagssafeImplicitImpsReqsafeDirectImpsReq safeImportsOn safeInferOnsafeLanguageOn safeHaskellOnpackageTrustOndynFlagDependencieslang_set xopt_unsetxopt_setxopt wopt_fatal wopt_unsetwopt_setwopt gopt_unsetgopt_setgopt dopt_unsetdopt_setdopthasNoOptCoercionhasNoStateHacklanguageExtensionsdefaultFlushErrdefaultFlushOutdefaultLogActionHPutStrDocdefaultLogActionHPrintDocdefaultLogActiondefaultFatalMessagerinterpreterDynamicinterpreterProfiled interpWays defaultWaysdefaultDynFlags initDynFlagsdynamicTooMkDynamicDynFlagswhenCannotGenerateDynamicTooifGeneratingDynamicToowhenGeneratingDynamicToowayUnsetGeneralFlagswayGeneralFlags wayRTSOnly mkBuildTagpositionIndependentmkTablesNextToCodetablesNextToCodedefaultObjectTargetpackageFlagsChangedisNoLink isOneShottargetRetainsAllBindingsisObjectTargetversionedAppDiropt_iopt_lcopt_loopt_lcc opt_windresopt_lopt_aopt_copt_Fopt_P_signatureopt_Popt_Lpgm_ipgm_lcpgm_lo pgm_ranlibpgm_arpgm_lcc pgm_libtool pgm_windrespgm_Tpgm_dllpgm_lpgm_apgm_spgm_cpgm_Fpgm_Ppgm_LsystemPackageConfigextraGccViaCFlags rawSettingstmpDirtopDir ghciUsagePath ghcUsagePathprojectVersion programNameflattenIncludesaddQuoteIncludeaddGlobalIncludeoptimisationFlags WarnReasonNoReasonReason ErrReason IncludeSpecsincludePathsQuoteincludePathsGlobal WarningFlagOpt_WarnDuplicateExportsOpt_WarnDuplicateConstraintsOpt_WarnRedundantConstraintsOpt_WarnHiShadowsOpt_WarnImplicitPreludeOpt_WarnIncompletePatternsOpt_WarnIncompleteUniPatterns Opt_WarnIncompletePatternsRecUpdOpt_WarnOverflowedLiteralsOpt_WarnEmptyEnumerationsOpt_WarnMissingFieldsOpt_WarnMissingImportListOpt_WarnMissingMethodsOpt_WarnMissingSignaturesOpt_WarnMissingLocalSignaturesOpt_WarnNameShadowingOpt_WarnOverlappingPatternsOpt_WarnTypeDefaultsOpt_WarnMonomorphismOpt_WarnUnusedTopBindsOpt_WarnUnusedLocalBindsOpt_WarnUnusedPatternBindsOpt_WarnUnusedImportsOpt_WarnUnusedMatchesOpt_WarnUnusedTypePatternsOpt_WarnUnusedForallsOpt_WarnWarningsDeprecationsOpt_WarnDeprecatedFlags Opt_WarnAMP!Opt_WarnMissingMonadFailInstancesOpt_WarnSemigroupOpt_WarnDodgyExportsOpt_WarnDodgyImportsOpt_WarnOrphansOpt_WarnAutoOrphansOpt_WarnIdentities Opt_WarnTabsOpt_WarnUnrecognisedPragmasOpt_WarnDodgyForeignImportsOpt_WarnUnusedDoBindOpt_WarnWrongDoBind)Opt_WarnAlternativeLayoutRuleTransitionalOpt_WarnUnsafe Opt_WarnSafeOpt_WarnTrustworthySafeOpt_WarnMissedSpecsOpt_WarnAllMissedSpecs%Opt_WarnUnsupportedCallingConventionsOpt_WarnUnsupportedLlvmVersionOpt_WarnInlineRuleShadowingOpt_WarnTypedHolesOpt_WarnPartialTypeSignatures!Opt_WarnMissingExportedSignatures$Opt_WarnUntickedPromotedConstructorsOpt_WarnDerivingTypeableOpt_WarnDeferredTypeErrors#Opt_WarnDeferredOutOfScopeVariables"Opt_WarnNonCanonicalMonadInstances&Opt_WarnNonCanonicalMonadFailInstances#Opt_WarnNonCanonicalMonoidInstances'Opt_WarnMissingPatternSynonymSignatures Opt_WarnUnrecognisedWarningFlags$Opt_WarnSimplifiableClassConstraintsOpt_WarnCPPUndefOpt_WarnUnbangedStrictPatternsOpt_WarnMissingHomeModulesOpt_WarnPartialFieldsOpt_WarnMissingExportListOpt_WarnInaccessibleCodeOpt_WarnStarIsTypeOpt_WarnStarBinderOpt_WarnImplicitKindVarsLanguage Haskell98 Haskell2010SafeHaskellModeSf_None Sf_UnsafeSf_TrustworthySf_Safe HasDynFlags getDynFlagsContainsDynFlagsextractDynFlagsProfAuto NoProfAuto ProfAutoAll ProfAutoTopProfAutoExports ProfAutoCalls LlvmTarget lDataLayoutlCPU lAttributes LlvmTargets LlvmPasses LlvmConfigSettingssTargetPlatform sGhcUsagePathsGhciUsagePathsToolDirsTopDirsTmpDir sProgramNamesProjectVersion sRawSettingssExtraGccViaCFlagssSystemPackageConfigsLdSupportsCompactUnwindsLdSupportsBuildIdsLdSupportsFilelist sLdIsGnuLdsGccSupportsNoPiesPgm_LsPgm_PsPgm_FsPgm_csPgm_ssPgm_asPgm_lsPgm_dllsPgm_T sPgm_windres sPgm_libtoolsPgm_ar sPgm_ranlibsPgm_losPgm_lcsPgm_lccsPgm_isOpt_LsOpt_PsOpt_P_fingerprintsOpt_FsOpt_csOpt_asOpt_l sOpt_windressOpt_losOpt_lcsOpt_lccsOpt_isPlatformConstants HscTargetHscCHscAsmHscLlvmHscInterpreted HscNothingGhcModeOneShot CompManagerMkDependGhcLinkNoLink LinkBinary LinkInMemory LinkDynLib LinkStaticLib PackageArg UnitIdArg ModRenamingmodRenamingWithImplicit modRenamingsIgnorePackageFlag IgnorePackage TrustFlag TrustPackageDistrustPackage PackageFlag ExposePackage HidePackage PackageDBFlag PackageDBNoUserPackageDBNoGlobalPackageDBClearPackageDBs DynLibLoader DeployableSystemDependentRtsOptsEnabled RtsOptsNone RtsOptsIgnoreRtsOptsIgnoreAllRtsOptsSafeOnly RtsOptsAllWay WayCustom WayThreadedWayDebugWayProf WayEventLogWayDyn FatalMessager LogActionFlushOutFlushErrOption FileOptionFlagSpec flagSpecName flagSpecFlagflagSpecActionflagSpecGhcMode PkgConfRef GlobalPkgConf UserPkgConf PkgConfFile LinkerInfoGnuLDGnuGoldLlvmLLDDarwinLD SolarisLDAixLD UnknownLD CompilerInfoGCCClang AppleClang AppleClang51 UnknownCC FilesToClean ftcGhcSessionftcCurrentModuleModule unitModuleSetunionModuleSet delModuleSetminusModuleSetintersectModuleSet elemModuleSet moduleSetEltsemptyModuleSetextendModuleSetListextendModuleSet mkModuleSetisEmptyModuleEnv unitModuleEnvmoduleEnvToList moduleEnvElts moduleEnvKeysemptyModuleEnv mkModuleEnv mapModuleEnvlookupWithDefaultModuleEnvlookupModuleEnv plusModuleEnv delModuleEnvdelModuleEnvListplusModuleEnv_CextendModuleEnvList_CextendModuleEnvListextendModuleEnvWithextendModuleEnv elemModuleEnvfilterModuleEnvwiredInUnitIds isHoleModuleisInteractiveModule mainUnitIdinteractiveUnitId thisGhcUnitIdthUnitId rtsUnitId baseUnitId integerUnitId primUnitId parseModSubst parseModuleIdparseComponentId parseUnitIdparseModuleNamegeneralizeIndefModulegeneralizeIndefUnitIdsplitUnitIdInstssplitModuleInstsrenameHoleUnitId'renameHoleModule'renameHoleUnitIdrenameHoleModulestringToUnitId fsToUnitIdnewSimpleUnitIdstableUnitIdCmp newUnitId hashUnitIdunitIdIsDefiniteunitIdFreeHolesdelInstalledModuleEnvfilterInstalledModuleEnvextendInstalledModuleEnvlookupInstalledModuleEnvemptyInstalledModuleEnvinstalledUnitIdEqinstalledModuleEqstringToInstalledUnitIdcomponentIdToInstalledUnitIdfsToInstalledUnitIdinstalledUnitIdStringtoInstalledUnitIdindefModuleToModuleindefUnitIdToUnitIdnewIndefUnitId unitIdKeyunitIdFS pprModulemkModulestableModuleCmp mkHoleModulemoduleIsDefinitemoduleFreeHolesmoduleNameColonsmoduleNameSlashesmkModuleNameFS mkModuleNamemoduleStableStringmoduleNameString moduleNameFS pprModuleNamestableModuleNameCmpaddBootSuffixLocnaddBootSuffix_maybe addBootSuffix ModLocation ml_hs_file ml_hi_file ml_obj_fileContainsModule extractModule HasModule getModule IndefUnitId indefUnitIdFSindefUnitIdKeyindefUnitIdComponentIdindefUnitIdInstsindefUnitIdFreeHoles IndefModuleindefModuleUnitIdindefModuleNameInstalledModuleinstalledModuleUnitIdinstalledModuleName DefUnitId unDefUnitIdInstalledModuleEnv ShHoleSubst ModuleEnv ModuleSet ModuleNameEnvDModuleNameEnv FastStringEnvmkFsEnv lookupFsEnv extendFsEnv emptyFsEnv BasicTypes mkIntWithInftreatZeroAsInf intGtLimitinfinityintegralFractionalLitnegateFractionalLitmkFractionalLitnegateIntegralLit mkIntegralLit isEarlyActiveisAlwaysActive isNeverActive competesWith isActiveInisActivepprInlineDebug pprInlinesetInlinePragmaRuleMatchInfosetInlinePragmaActivationinlinePragmaRuleMatchInfoinlinePragmaActivationinlinePragmaSatisAnyInlinePragmaisInlinablePragmaisInlinePragmaisDefaultInlinePragmadfunInlinePragmainlinePragmaSpecneverInlinePragmaalwaysInlinePragmadefaultInlinePragmanoUserInlineSpec isFunLike isConLikepprWithSourceTextfailed succeeded successIf zapFragileOccisOneOcc isDeadOccisStrongLoopBreakerisWeakLoopBreakerweakLoopBreakerstrongLoopBreakerisAlwaysTailCalledzapOccTailCallInfo tailCallInfo notOneBranch oneBranch notInsideLam insideLam seqOccInfo isManyOccs noOccInfopprAlternative sumParens tupleParensboxityTupleSorttupleSortBoxity maybeParenappPrecopPrecfunPrecsigPrectopPrechasOverlappingFlaghasOverlappableFlaghasIncoherentFlagsetOverlapModeMaybe isGenerated boolToRecFlagisNonRecisRecisBoxed isTopLevel isNotTopLevel compareFixity funTyFixity negateFixity defaultFixity minPrecedence maxPrecedence pprRuleNamepprWarningTxtForMsginitialVersion bumpVersionunSwap isSwappedflipSwap bestOneShot worstOneShothasNoOneShotInfo isOneShotInfo noOneShotInfo fIRST_TAGpickLR LeftOrRightCLeftCRightArityRepArity JoinArityConTagConTagZ Alignment OneShotInfo NoOneShotInfo OneShotLamSwapFlag NotSwapped IsSwappedFunctionOrData IsFunctionIsDataVersion StringLiteralsl_stsl_fs WarningTxt DeprecatedTxtRuleNameFixityFixityDirectionInfixLInfixRInfixN LexicalFixityPrefixInfix TopLevelFlagTopLevel NotTopLevelBoxityBoxedUnboxedRecFlag Recursive NonRecursiveOrigin FromSource Generated OverlapFlag overlapMode isSafeOverlap OverlapMode Overlappable OverlappingOverlaps Incoherent NoOverlapPprPrec TupleSort BoxedTuple UnboxedTupleConstraintTupleEPfromEPtoEPOccInfoManyOccsIAmDeadOneOccIAmALoopBreakerocc_tail occ_in_lam occ_one_br occ_int_cxtocc_rules_onlyInterestingCxt InsideLam OneBranch TailCallInfoAlwaysTailCalledNoTailCallInfo DefMethSpec VanillaDM GenericDM SuccessFlag SucceededFailed SourceText NoSourceTextPhaseNum CompilerPhasePhase InitialPhase Activation NeverActive AlwaysActive ActiveBefore ActiveAfter RuleMatchInfoConLikeFunLike InlinePragmainl_src inl_inlineinl_satinl_actinl_rule InlineSpecNoInlineInline Inlinable NoUserInline IntegralLitILil_textil_negil_value FractionalLitFLfl_textfl_negfl_value IntWithInfSpliceExplicitFlagExplicitSpliceImplicitSplice mkLocMessagemkLocMessageAnngetCaretDiagnosticdumpSDocSeverity SevOutputSevFatalSevInteractiveSevDumpSevInfo SevWarningSevErrorMsgDocpprKindpprTypeisRuntimeRepTyTyVarTyAppTyTyConAppCastTyFunTyForAllTyLitTy CoercionTyTyThingAnIdAConLikeATyConACoAxiomReflUnivCoHoleCo TyConAppCoAppCoForAllCoFunCoCoVarCo AxiomInstCo AxiomRuleCoSymCoTransCoNthCoLRCoInstCo CoherenceCoKindCoSubCoUnivCoProvenanceUnsafeCoerceProv PhantomProvProofIrrelProv PluginProvTCvSubstTyBinderNamedAnonPredTypeKind ThetaType OutputablepprDebugAndThenassertPprPanic pprSTracepprTraceException pprTraceIt pprTraceMpprTrace pprTraceDebug pprPgmErrorpprSorrypprPanic callStackDocdoOrDoesisOrArepluralspeakNOfspeakNspeakNth intWithCommasquotedListWithNorquotedListWithOr pprQuotedList interpp'SP interppSP pprWithBars pprWithCommaspprFastFilePath pprInfixVar pprPrefixVar pprPrimWord64 pprPrimInt64 pprPrimWord pprPrimInt pprPrimCharprimWord64SuffixprimInt64SuffixprimWordSuffixprimDoubleSuffix primIntSuffixprimFloatSuffixprimCharSuffix pprHsBytes pprHsString pprHsCharkeywordcolouredppUnlessppWhen punctuate hangNotEmptyhangfcatfsepcatsepvcathsephcat$+$$$<+><>nest unicodeSyntaxbulletkindType forAllLitrbracelbracerbracklbrackrparenlparenvbardot underscorespaceequalscoloncommasemilarrowttarrowttlarrowtarrowtdarrowlarrowarrowdcolon blankLinequotescparen angleBrackets doubleQuotesquotebracketsbracesparens doublePrecwordrationaldoublefloatintegerintztextptextftextcharempty docToSDocisEmptyshowSDocDumpOneLineshowSDocOneLinerenderWithStyle showSDocDebug showSDocDumpshowSDocForUsershowSDocUnqualshowPprshowSDoc mkCodeStylepprCodebufLeftRenderSDoc printForCprintForUserPartWay printForUser printSDocLn printSDoc whenPprDebug ifPprDebug getPprDebug userStyle debugStyle dumpStyleasmStyle codeStyle queryQual qualPackage qualModulequalNameupdSDocDynFlagssdocWithPlatformsdocWithDynFlags getPprStyle pprSetDepth pprDeeperList pprDeeperwithPprStyleDoc withPprStyleinitSDocContextsetStyleColoured mkUserStylecmdlineParserStyle mkErrStyledefaultErrStyle mkDumpStyledefaultDumpStyledefaultUserStyle neverQualify alwaysQualifyreallyAlwaysQualifyneverQualifyPackagesalwaysQualifyPackagesneverQualifyModulesalwaysQualifyModulesneverQualifyNamesalwaysQualifyNamesreallyAlwaysQualifyNamesPprStyle CodeStyleCStyleAsmStyleDepth AllTheWayPartWayPrintUnqualified QueryQualifyqueryQualifyNamequeryQualifyModulequeryQualifyPackageQueryQualifyNameQueryQualifyModuleQueryQualifyPackage QualifyName NameUnqualNameQualNameNotInScope1NameNotInScope2pprpprPrec BindingSite LambdaBindCaseBind CasePatBindLetBindOutputableBndrpprBndr pprPrefixOcc pprInfixOccbndrIsJoin_maybe unitIdString moduleName moduleUnitId ModuleNameUnitIdIndefiniteUnitIdDefiniteUnitIdInstalledUnitIdinstalledUnitIdFS ComponentId MonadUtilsunlessMwhenM maybeMapMfoldrMfoldlM_foldlMorMallManyM fmapEitherM fmapMaybeM mapMaybeM concatMapMmapSndM mapAccumLM mapAndUnzip5M mapAndUnzip4M mapAndUnzip3MzipWithAndUnzipM zipWith4M zipWith3M_ zipWith3MliftIO4liftIO3liftIO2liftIO1 isTupleTyConisUnboxedTupleTyCon isFunTyCon tyConName tyConUnique tyConBinders tyConResKind tyConKind tyConArity tyConTyVars tyConCType algTcFields famTcResVartcTyConScopedTyVarstcTyConUserTyVarsPlatformConstantspc_platformConstantspc_CONTROL_GROUP_CONST_291pc_STD_HDR_SIZEpc_PROF_HDR_SIZE pc_BLOCK_SIZEpc_BLOCKS_PER_MBLOCKpc_TICKY_BIN_COUNTpc_OFFSET_StgRegTable_rR1pc_OFFSET_StgRegTable_rR2pc_OFFSET_StgRegTable_rR3pc_OFFSET_StgRegTable_rR4pc_OFFSET_StgRegTable_rR5pc_OFFSET_StgRegTable_rR6pc_OFFSET_StgRegTable_rR7pc_OFFSET_StgRegTable_rR8pc_OFFSET_StgRegTable_rR9pc_OFFSET_StgRegTable_rR10pc_OFFSET_StgRegTable_rF1pc_OFFSET_StgRegTable_rF2pc_OFFSET_StgRegTable_rF3pc_OFFSET_StgRegTable_rF4pc_OFFSET_StgRegTable_rF5pc_OFFSET_StgRegTable_rF6pc_OFFSET_StgRegTable_rD1pc_OFFSET_StgRegTable_rD2pc_OFFSET_StgRegTable_rD3pc_OFFSET_StgRegTable_rD4pc_OFFSET_StgRegTable_rD5pc_OFFSET_StgRegTable_rD6pc_OFFSET_StgRegTable_rXMM1pc_OFFSET_StgRegTable_rXMM2pc_OFFSET_StgRegTable_rXMM3pc_OFFSET_StgRegTable_rXMM4pc_OFFSET_StgRegTable_rXMM5pc_OFFSET_StgRegTable_rXMM6pc_OFFSET_StgRegTable_rYMM1pc_OFFSET_StgRegTable_rYMM2pc_OFFSET_StgRegTable_rYMM3pc_OFFSET_StgRegTable_rYMM4pc_OFFSET_StgRegTable_rYMM5pc_OFFSET_StgRegTable_rYMM6pc_OFFSET_StgRegTable_rZMM1pc_OFFSET_StgRegTable_rZMM2pc_OFFSET_StgRegTable_rZMM3pc_OFFSET_StgRegTable_rZMM4pc_OFFSET_StgRegTable_rZMM5pc_OFFSET_StgRegTable_rZMM6pc_OFFSET_StgRegTable_rL1pc_OFFSET_StgRegTable_rSppc_OFFSET_StgRegTable_rSpLimpc_OFFSET_StgRegTable_rHppc_OFFSET_StgRegTable_rHpLimpc_OFFSET_StgRegTable_rCCCS!pc_OFFSET_StgRegTable_rCurrentTSO%pc_OFFSET_StgRegTable_rCurrentNurserypc_OFFSET_StgRegTable_rHpAllocpc_OFFSET_stgEagerBlackholeInfopc_OFFSET_stgGCEnter1pc_OFFSET_stgGCFunpc_OFFSET_Capability_rpc_OFFSET_bdescr_startpc_OFFSET_bdescr_freepc_OFFSET_bdescr_blockspc_OFFSET_bdescr_flagspc_SIZEOF_CostCentreStack#pc_OFFSET_CostCentreStack_mem_alloc pc_REP_CostCentreStack_mem_alloc#pc_OFFSET_CostCentreStack_scc_count pc_REP_CostCentreStack_scc_countpc_OFFSET_StgHeader_ccspc_OFFSET_StgHeader_ldvwpc_SIZEOF_StgSMPThunkHeaderpc_OFFSET_StgEntCounter_allocspc_REP_StgEntCounter_allocspc_OFFSET_StgEntCounter_allocdpc_REP_StgEntCounter_allocd#pc_OFFSET_StgEntCounter_registeredppc_OFFSET_StgEntCounter_link#pc_OFFSET_StgEntCounter_entry_countpc_SIZEOF_StgUpdateFrame_NoHdrpc_SIZEOF_StgMutArrPtrs_NoHdrpc_OFFSET_StgMutArrPtrs_ptrspc_OFFSET_StgMutArrPtrs_size"pc_SIZEOF_StgSmallMutArrPtrs_NoHdr!pc_OFFSET_StgSmallMutArrPtrs_ptrspc_SIZEOF_StgArrBytes_NoHdrpc_OFFSET_StgArrBytes_bytespc_OFFSET_StgTSO_alloc_limitpc_OFFSET_StgTSO_cccspc_OFFSET_StgTSO_stackobjpc_OFFSET_StgStack_sppc_OFFSET_StgStack_stack pc_OFFSET_StgUpdateFrame_updatee"pc_OFFSET_StgFunInfoExtraFwd_aritypc_REP_StgFunInfoExtraFwd_aritypc_SIZEOF_StgFunInfoExtraRev"pc_OFFSET_StgFunInfoExtraRev_aritypc_REP_StgFunInfoExtraRev_aritypc_MAX_SPEC_SELECTEE_SIZEpc_MAX_SPEC_AP_SIZEpc_MIN_PAYLOAD_SIZEpc_MIN_INTLIKEpc_MAX_INTLIKEpc_MIN_CHARLIKEpc_MAX_CHARLIKEpc_MUT_ARR_PTRS_CARD_BITSpc_MAX_Vanilla_REGpc_MAX_Float_REGpc_MAX_Double_REGpc_MAX_Long_REGpc_MAX_XMM_REGpc_MAX_Real_Vanilla_REGpc_MAX_Real_Float_REGpc_MAX_Real_Double_REGpc_MAX_Real_XMM_REGpc_MAX_Real_Long_REGpc_RESERVED_C_STACK_BYTESpc_RESERVED_STACK_WORDSpc_AP_STACK_SPLIM pc_WORD_SIZEpc_DOUBLE_SIZE pc_CINT_SIZE pc_CLONG_SIZEpc_CLONG_LONG_SIZEpc_BITMAP_BITS_SHIFT pc_TAG_BITSpc_WORDS_BIGENDIANpc_DYNAMIC_BY_DEFAULT pc_LDV_SHIFTpc_ILDV_CREATE_MASKpc_ILDV_STATE_CREATEpc_ILDV_STATE_USEtargetPlatformunsafeGlobalDynFlagsuseUnicodeSyntax useStarIsTypeshouldUseColorshouldUseHexWordLiterals hasPprDebughasNoDebugOutput useUnicodepprCols pprUserLengthghcModeghcLink hscTargetsettings llvmTargets llvmPasses verbosityoptLevel debugLevel simplPhasesmaxSimplIterationsmaxPmCheckIterations ruleCheck inlineCheckstrictnessBefore parMakeCountenableTimeStats ghcHeapSizemaxRelevantBindsmaxValidHoleFitsmaxRefHoleFitsrefLevelHoleFitsmaxUncoveredPatternssimplTickFactorspecConstrThresholdspecConstrCountspecConstrRecursiveliberateCaseThreshold floatLamArgscmmProcAlignment historySize importPaths mainModIs mainFunIsreductionDepthsolverIterationsthisInstalledUnitIdthisComponentId_thisUnitIdInsts_waysbuildTag splitInfo objectDirdylibInstallNamehiDirstubDirdumpDir objectSufhcSufhiSufcanGenerateDynamicToo dynObjectSufdynHiSuf outputFile dynOutputFileoutputHi dynLibLoader dumpPrefixdumpPrefixForceldInputs includePaths libraryPathsframeworkPathscmdlineFrameworksrtsOptsrtsOptsEnabledrtsOptsSuggestionshpcDirpluginModNamespluginModNameOptsfrontendPluginOptspluginshooks depMakefiledepIncludePkgDepsdepExcludeMods depSuffixespackageDBFlagsignorePackageFlags packageFlagspluginPackageFlags trustFlags packageEnv pkgDatabasepkgState filesToClean dirsToCleannextTempSuffixgeneratedDumps dumpFlags generalFlags warningFlagsfatalWarningFlagslanguage safeHaskell safeInfer safeInferredthOnLoc newDerivOnLocoverlapInstLocincoherentOnLoc pkgTrustOnLoc warnSafeOnLocwarnUnsafeOnLoctrustworthyOnLoc extensionsextensionFlagsufCreationThresholdufUseThresholdufFunAppDiscountufDictDiscountufKeenessFactorufDearOpufVeryAggressive maxWorkerArgs ghciHistSize log_actionflushOutflushErrghcVersionFilehaddockOptions ghciScriptsuseColor canUseColor colSchemeprofAutointeractivePrintnextWrapperNum sseVersion bmiVersionavxavx2avx512cdavx512eravx512favx512pfrtldInfortccInfomaxInlineAllocSizemaxInlineMemcpyInsnsmaxInlineMemsetInsns reverseErrors maxErrors initialUniqueuniqueIncrementDumpFlagOpt_D_dump_cmmOpt_D_dump_cmm_from_stgOpt_D_dump_cmm_rawOpt_D_dump_cmm_verboseOpt_D_dump_cmm_cfgOpt_D_dump_cmm_cbeOpt_D_dump_cmm_switchOpt_D_dump_cmm_procOpt_D_dump_cmm_spOpt_D_dump_cmm_sinkOpt_D_dump_cmm_cafOpt_D_dump_cmm_procmapOpt_D_dump_cmm_splitOpt_D_dump_cmm_infoOpt_D_dump_cmm_cpsOpt_D_dump_asmOpt_D_dump_asm_nativeOpt_D_dump_asm_livenessOpt_D_dump_asm_regallocOpt_D_dump_asm_regalloc_stagesOpt_D_dump_asm_conflictsOpt_D_dump_asm_statsOpt_D_dump_asm_expandedOpt_D_dump_llvmOpt_D_dump_core_statsOpt_D_dump_deriv Opt_D_dump_dsOpt_D_dump_ds_preoptOpt_D_dump_foreignOpt_D_dump_inliningsOpt_D_dump_rule_firingsOpt_D_dump_rule_rewritesOpt_D_dump_simpl_traceOpt_D_dump_occur_analOpt_D_dump_parsedOpt_D_dump_parsed_ast Opt_D_dump_rnOpt_D_dump_rn_astOpt_D_dump_shapeOpt_D_dump_simplOpt_D_dump_simpl_iterationsOpt_D_dump_specOpt_D_dump_prepOpt_D_dump_stgOpt_D_dump_call_arityOpt_D_dump_exitifyOpt_D_dump_stranalOpt_D_dump_str_signatures Opt_D_dump_tcOpt_D_dump_tc_astOpt_D_dump_typesOpt_D_dump_rulesOpt_D_dump_cseOpt_D_dump_worker_wrapperOpt_D_dump_rn_traceOpt_D_dump_rn_statsOpt_D_dump_opt_cmmOpt_D_dump_simpl_statsOpt_D_dump_cs_traceOpt_D_dump_tc_traceOpt_D_dump_ec_traceOpt_D_dump_if_traceOpt_D_dump_vt_traceOpt_D_dump_splicesOpt_D_th_dec_fileOpt_D_dump_BCOsOpt_D_dump_tickedOpt_D_dump_rttiOpt_D_source_statsOpt_D_verbose_stg2stg Opt_D_dump_hiOpt_D_dump_hi_diffsOpt_D_dump_mod_cyclesOpt_D_dump_mod_mapOpt_D_dump_timings!Opt_D_dump_view_pattern_commoningOpt_D_verbose_core2coreOpt_D_dump_debugOpt_D_dump_jsonOpt_D_ppr_debugOpt_D_no_debug_output GeneralFlagOpt_DumpToFileOpt_D_faststring_statsOpt_D_dump_minimal_importsOpt_DoCoreLintingOpt_DoStgLintingOpt_DoCmmLintingOpt_DoAsmLintingOpt_DoAnnotationLintingOpt_NoLlvmMangler Opt_FastLlvmOpt_WarnIsErrorOpt_ShowWarnGroupsOpt_HideSourcePathsOpt_PrintExplicitForallsOpt_PrintExplicitKindsOpt_PrintExplicitCoercionsOpt_PrintExplicitRuntimeRepsOpt_PrintEqualityRelationsOpt_PrintUnicodeSyntaxOpt_PrintExpandedSynonymsOpt_PrintPotentialInstancesOpt_PrintTypecheckerElaboration Opt_CallArityOpt_ExitificationOpt_StrictnessOpt_LateDmdAnalOpt_KillAbsenceOpt_KillOneShotOpt_FullLaziness Opt_FloatInOpt_LateSpecialiseOpt_SpecialiseOpt_SpecialiseAggressivelyOpt_CrossModuleSpecialise Opt_StaticArgumentTransformationOpt_CSE Opt_StgCSEOpt_LiberateCaseOpt_SpecConstrOpt_SpecConstrKeenOpt_DoLambdaEtaExpansionOpt_IgnoreAssertsOpt_DoEtaReduction Opt_CaseMergeOpt_CaseFoldingOpt_UnboxStrictFieldsOpt_UnboxSmallStrictFieldsOpt_DictsCheapOpt_EnableRewriteRules Opt_RegsGraphOpt_RegsIterativeOpt_PedanticBottoms Opt_LlvmTBAAOpt_LlvmPassVectorsInRegistersOpt_LlvmFillUndefWithGarbageOpt_IrrefutableTuples Opt_CmmSinkOpt_CmmElimCommonBlocksOpt_AsmShortcuttingOpt_OmitYieldsOpt_FunToThunkOpt_DictsStrictOpt_DmdTxDictSelOpt_Loopification Opt_CprAnalOpt_WorkerWrapperOpt_SolveConstantDictsOpt_AlignmentSanitisationOpt_CatchBottomsOpt_NumConstantFoldingOpt_SimplPreInliningOpt_IgnoreInterfacePragmasOpt_OmitInterfacePragmasOpt_ExposeAllUnfoldingsOpt_WriteInterfaceOpt_AutoSccsOnIndividualCafsOpt_ProfCountEntriesOpt_PpOpt_ForceRecompOpt_IgnoreOptimChangesOpt_IgnoreHpcChangesOpt_ExcessPrecisionOpt_EagerBlackHoling Opt_NoHsMain Opt_SplitObjsOpt_SplitSections Opt_StgStatsOpt_HideAllPackagesOpt_HideAllPluginPackagesOpt_PrintBindResult Opt_HaddockOpt_HaddockOptionsOpt_BreakOnExceptionOpt_BreakOnErrorOpt_PrintEvldWithShowOpt_PrintBindContentsOpt_GenManifestOpt_EmbedManifestOpt_SharedImplibOpt_BuildingCabalPackageOpt_IgnoreDotGhciOpt_GhciSandboxOpt_GhciHistoryOpt_GhciLeakCheckOpt_LocalGhciHistoryOpt_NoItOpt_HelpfulErrorsOpt_DeferTypeErrorsOpt_DeferTypedHolesOpt_DeferOutOfScopeVariablesOpt_PICOpt_PIEOpt_PICExecutableOpt_ExternalDynamicRefsOpt_SccProfilingOn Opt_TickyOpt_Ticky_Allocd Opt_Ticky_LNEOpt_Ticky_Dyn_Thunk Opt_RPathOpt_RelativeDynlibPathsOpt_Hpc Opt_FlatCacheOpt_ExternalInterpreterOpt_OptimalApplicativeDoOpt_VersionMacrosOpt_WholeArchiveHsLibsOpt_SingleLibFolderOpt_ErrorSpansOpt_DiagnosticsShowCaretOpt_PprCaseAsLetOpt_PprShowTicksOpt_ShowHoleConstraintsOpt_ShowValidHoleFitsOpt_SortValidHoleFitsOpt_SortBySizeHoleFitsOpt_SortBySubsumHoleFitsOpt_AbstractRefHoleFitsOpt_UnclutterValidHoleFitsOpt_ShowTypeAppOfHoleFitsOpt_ShowTypeAppVarsOfHoleFitsOpt_ShowTypeOfHoleFitsOpt_ShowProvOfHoleFitsOpt_ShowMatchesOfHoleFitsOpt_ShowLoadedModulesOpt_HexWordLiteralsOpt_SuppressCoercionsOpt_SuppressVarKindsOpt_SuppressModulePrefixesOpt_SuppressTypeApplicationsOpt_SuppressIdInfoOpt_SuppressUnfoldingsOpt_SuppressTypeSignaturesOpt_SuppressUniquesOpt_SuppressStgFreeVarsOpt_SuppressTicksOpt_SuppressTimestampsOpt_AutoLinkPackagesOpt_ImplicitImportQualifiedOpt_KeepHiDiffsOpt_KeepHcFilesOpt_KeepSFilesOpt_KeepTmpFilesOpt_KeepRawTokenStreamOpt_KeepLlvmFilesOpt_KeepHiFilesOpt_KeepOFilesOpt_BuildDynamicTooOpt_DistrustAllPackagesOpt_PackageTrustOpt_G_NoStateHackOpt_G_NoOptCoercionPanic assertPanicpgmErrorsorrypanicshowSDocUnsafe warnPprTracetextSDocrunSDoc occNameSpace occNameFSghc-boot-th-8.6.3GHC.ForeignSrcLang.TypeForeignSrcLang RawObject LangObjcxxLangObjcLangCxxLangCmkFunTyHsExprHsTupArgPresentMissingXTupArgLHsCmd HsArrAppTypeHsHigherOrderAppHsFirstOrderAppHsCmdTopXCmdTopMatchXMatchm_extm_ctxtm_patsm_grhssGRHSXGRHSCmdLStmt ExprLStmtStmtLRLastStmtBindStmtApplicativeStmtBodyStmtLetStmtParStmt TransStmtRecStmtXStmtLRtrS_exttrS_form trS_stmts trS_bndrs trS_usingtrS_bytrS_rettrS_bindtrS_fmaprecS_ext recS_stmtsrecS_later_ids recS_rec_ids recS_bind_fn recS_ret_fn recS_mfix_fn HsBracketXBracketExpBrPatBrDecBrLDecBrGTypBrVarBrTExpBrHsMatchContextPatSynFunRhs LambdaExprCaseAltIfAltProcExpr PatBindRhs PatBindGuardsRecUpdStmtCtxt ThPatSplice ThPatQuotemc_fun mc_fixity mc_strictness HsStmtContextListComp MonadCompDoExprMDoExpr ArrowExpr GhciStmtCtxtPatGuard ParStmtCtxt TransStmtCtxtHsDeclsHsGroupHsPat hsConPatArgsHsBindsHsLocalBindsLR HsIPBinds HsValBindsEmptyLocalBindsXHsLocalBindsLRHsTypesLHsTypeHsWildCardBndrsHsWCXHsWildCardBndrshswc_ext hswc_bodyHsTypeHsTyLit HsForAllTyHsQualTyHsTyVarHsAppTyHsFunTyHsListTy HsTupleTyHsSumTyHsOpTyHsParTy HsIParamTyHsStarTy HsKindSig HsSpliceTyHsDocTyHsBangTyHsRecTyHsExplicitListTyHsExplicitTupleTy HsWildCardTyXHsType hst_xforall hst_bndrshst_body hst_xqualhst_ctxtHsNumTyHsStrTyPromoted NotPromotedHsLitHsChar HsCharPrimHsString HsStringPrimHsInt HsIntPrim HsWordPrim HsInt64Prim HsWord64Prim HsIntegerHsRat HsFloatPrim HsDoublePrimXLit HsOverLitXOverLitOverLitol_extol_val ol_witness OverLitVal HsIntegral HsFractional HsIsStringHsVar HsUnboundVar HsConLikeOutHsRecFld HsOverLabelHsIPVarHsLam HsLamCaseHsApp HsAppTypeOpAppNegAppHsParSectionLSectionR ExplicitTuple ExplicitSumHsCaseHsIf HsMultiIfHsLetHsDo ExplicitList RecordCon RecordUpd ExprWithTySigArithSeqHsSCC HsCoreAnnHsRnBracketOutHsTcBracketOut HsSpliceEHsProcHsStaticHsArrApp HsArrFormHsTick HsBinTick HsTickPragmaEWildPatEAsPatEViewPatELazyPatHsWrapXExprrcon_ext rcon_con_name rcon_fldsrupd_ext rupd_expr rupd_fldsHsCmd HsCmdArrApp HsCmdArrFormHsCmdAppHsCmdLamHsCmdPar HsCmdCaseHsCmdIfHsCmdLetHsCmdDo HsCmdWrapXCmd MatchGroupMG XMatchGroupmg_extmg_alts mg_originGRHSsXGRHSsgrhssExt grhssGRHSsgrhssLocalBindsLHsExprPatWildPatVarPatLazyPatAsPatParPatBangPatListPatTuplePatSumPatConPatIn ConPatOutViewPat SplicePatLitPatNPat NPlusKPatSigPatCoPatXPatpat_con pat_arg_tyspat_tvs pat_dicts pat_bindspat_argspat_wrapLPat HsExtensionGhcRnSrcLoc srcSpanEndColsrcSpanStartColsrcSpanEndLinesrcSpanStartLine noSrcSpan RealSrcSpanSrcSpan UnhelpfulSpan GenLocatedLLocated noExtFieldhsVarhsTyVarhsAppshsOpApphsTyApphsPar nameToStringid.ghc-prim GHC.TypesCharreturn>>>>=Bool Data.EitherRightTrue GHC.MaybeJust GHC.NaturalNatural GHC.TypeNatsKnownNatputErrorwarndebugVarNameVNCatNamescatIdentityNamecatComposeNamecatTerminalName catProj1Name catProj2Name catFanoutName catInlName catInrName catFaninName catDistrName catEvalNameNamesfmapNamefromStringNamefromSymbolNamefromNumeralNamefromNaturalName fromCharNamenilNameconsNameifteNameunitName fromLabelNamefromTypeNatNamefromTypeSymbolNamepureNameapNamebirdNamevoidName composeName doPureName doThenName doBindName conLeftName conRightNamecatNamesgetNames getCatNames lookupVarNamelookupTypeNameghcRecordsCompatMNRewrite NoRewriteError transformDo transformDo' spanNextToBTmatchAppmatchOpLeafBranchtransformIdiomBracketstransformIdiomBrackets'neSnocidiomBT applyExprapExprbirdExprfmapExprpureExprMorphismProcLastEdgeMEvalMDistrMCaseMInRMInLMProj2MProj1 MTerminalMProductMComposeMTermMId ExpressionExpressionRightExpressionLeftExpressionTuple ExpressionVarExpressionUnitIndexHereInRInL SomePatternPattern PatternTuple PatternVar PatternWildShapeTwoOne ContinuationSplitFBtransformCategoriesparsePat parsePat' parseExprparseCmd simpleGRHSs parseTerm parseStmtsunvarcompContweaken1caseCont patternMap combineMapsdesugardesugarCdesugarPdesugarEgenerateV4V2 makeEvidence4 PluginCtxhasPolyFieldClstcPluginreplacemakeVarfindClassConstraint4 matchHasFieldfstOf3fmapData.Traversabletraverse**NatSymbol