h$HWB      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""################################################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********************************************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------------------------------------------------................................................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555566666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<================================================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > > > > > > > > > > > > > > >!>!>!>!>!>!>!>!>!>!>!>!>">#>#>#>#>#>#>#>#>#>#>#>#>#>#>#>$?$?$?$?$?$?$?$?$?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A&A'A'A'A'A'A'A'A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A)A*A*A*A*A*A*A*A*A*A+A+A+A+A+A+A,A,A,A,A,A,A,A,A,A-A-A-A-B-B-B-B-B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.B/B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4C4C4C4C4C4C5C5C5C5C5C5C5C5C5C5C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C7C8C8C8C8C8C8C8C8C8C9C:C;C;C;CC>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C?C?C?C?C?C?C?C?C?C?D?D?D?D?D?D?D?D?D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@D@DADADADADADADADADADADADADADADADADADADADADADADADADBDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEDEDEEEEEEEEEFEFEFEFEFEFEGEGEGEGEGEGEGEGEGEGEGEGEGEGEGEGEGEGEGEGEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFHFIFIFIFIFJFJFJFJFJFJFJFJFJFJFJFJFKFKFLFLFMFMFMFNFNFOFOFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFPFQFRFRFRFRFRFSFSFSFSFSFSFSFSFSFSFTFTFTFTFUFUFUFUFUFUFUFUFUFUFUFUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGVGWGWGWGWGWGWGWGWGXGXGXGXGXGYGYGZGZGZG[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G[G\G\G\G\G\G]G]G]G]G]G]G]G]G]G]G]G^G^G_G_G_G_ Safe-Inferred#$*11 Safe-Inferred#$*G1 liquidhaskellMapping ------------------------------------------------------------------1 liquidhaskellPowersets ----------------------------------------------------------------1 liquidhaskellCombining ---------------------------------------------------------------- 111111111 111111111None#$*11None#$*11None #$&*3i1 liquidhaskell NOTE:tyConRealArityThe semantics of  changed between GHC 8.6.5 and GHC 8.10, mostly due to the Visible Dependent Quantification (VDQ). As a result, given the following:(data family EntityField record :: * -> *Calling  on this would yield 2 for 8.6.5 but 1 an 8.10, so we try to backport the old behaviour in 8.10 by "looking" at the ! of the input /< and trying to recursively split the type apart with either  or . NOTE:isEvVarTypeFor GHC < 8.10.1 isPredTy$ is effectively the same as the new , which covers the cases for coercion types and "normal" type coercions. The 8.6.5 version of isPredTy had a special case to handle a  in the case of type equality (i.e. ~ ) which was removed in the implementation for 8.10.1, which essentially calls  straight away.1  !"#$%&'()*+,-./0123456789:;<=>?@ACBGDFENMIJLKUTOPQSRYXWVZ[\ba]^`_cdefgkhjilmnopqrstuvwxyz{|}~   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""##############################################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%''''''''('''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))*)))*)******************************************************************************************************************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------.-.-...........................................................................................................+....++.++..............//////////////////////////////////////////////////////////////////////////////////////////////////////00//////////////////////////00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000##0000011111111)((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))011(01%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''1111111111111111111111111111111111111111111H111  !"#$%&'()*+,-./0123456789:;<=>?@ACBGDFENMIJLKUTOPQSRYXWVZ[\ba]^`_cdefgkhjilmnopqrstuvwxyz{|}~   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""##############################################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%''''''''('''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))*)))*)******************************************************************************************************************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------------------------------------------------------------------------------------------------------------------------------.-.-...........................................................................................................+....++.++..............//////////////////////////////////////////////////////////////////////////////////////////////////////00//////////////////////////00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000##0000011111111)((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))011(01%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''1111111111111111111111111111111111111111111H11None#$*>X1 liquidhaskellOur own simplified version of 1.1 liquidhaskellOur own simplified version of 1 to overcome the fact we cannot construct the "original" one as the constructor is not exported, and getHomeModuleInfo and getPackageModuleInfo> are not exported either, so we had to backport them as well.1 liquidhaskellA typeclass which is very similar to the existing , but it doesn't impose a G constraint.1 liquidhaskellDesugar a typechecked module.1 liquidhaskellTakes a . and possibly a ., and consults the filesystem and package database to find the corresponding .+, using the algorithm that is used for an import declaration.11111111111111111111111111111111111111111111` Safe-Inferred#$* None#$*8"1 liquidhaskellDatatype For Holding GHC ModGuts ------------------------------------------2 liquidhaskellA 2$ is virtually isomorphic to a GHC's 0! but crucially we don't use the G instance defined on a 0 because it's ,-based. In particular, GHC doesn't guarantee that if we load an interface multiple times we would get the same , for the same 0(, and this is a problem when we rely on 0s to be the same when we call  isExportedVar, which used to use a  8 derived from the '[AvailInfo]'. As the name implies, a   uses a 0s ,> for duplicate detection and indexing, and this would lead to !s being resolved to a 0+ which is basically the same, but it has a  different ,., and that would cause the lookup inside the   to fail.2 liquidhaskellCreates a new 2 out of a 0.2 liquidhaskellConverts a list of  + into a "StableNameSet", similarly to what   would do.1122221111122222222222222112222111112222  Safe-Inferred#$*8?#'2 liquidhaskellGeneric (G).  instance G MyType where (G) = 2 2 liquidhaskell#A helper for better type inference.2222222222 None#$*#]222222 None#$*38<=#222222222222 None#$*3842 liquidhaskell*the logging verbosity to use (defaults to G)2 liquidhaskellsource files to check2 liquidhaskell%path to directory for including specs2 liquidhaskellcheck subset of binders modified (+ dependencies) since last check2 liquidhaskell1uninterpreted integer multiplication and division2 liquidhaskell,interpretation of string theory in the logic2 liquidhaskell)allow higher order binders into the logic2 liquidhaskellallow higher order qualifiers2 liquidhaskell smt timeout2 liquidhaskell'check all binders (overrides diffcheck)2 liquidhaskellsave fixpoint query2 liquidhaskellset of binders to check2 liquidhaskellwhether to complain about specifications for unexported and unused values2 liquidhaskelldisable termination check2 liquidhaskell0Adds precise reasoning on presence of rankNTypes2 liquidhaskelldisable checking class instances , structuralTerm :: Bool -- ^ use structural termination checker2 liquidhaskell$disable structural termination check2 liquidhaskellenable gradual type checking2 liquidhaskell3scope of the outer binders on the inner refinements2 liquidhaskelldepth of gradual concretization2 liquidhaskellinteractive gradual solving2 liquidhaskellCheck for termination and totality, Overrides no-termination flags2 liquidhaskell*disable warnings output (only show errors)2 liquidhaskell1disable creation of intermediate annotation files2 liquidhaskell$check internal (GHC-derived) binders2 liquidhaskell"maximum case expand nesting depth.2 liquidhaskelldisable truing top level types2 liquidhaskell%disable totality check in definitions2 liquidhaskell$enable prunning unsorted Refinements2 liquidhaskell)number of cores used to solve constraints2 liquidhaskellMinimum size of a partition2 liquidhaskell2Maximum size of a partition. Overrides minPartSize2 liquidhaskellthe maximum number of parameters to accept when mining qualifiers2 liquidhaskellname of smtsolver to use [default: try z3, cvc4, mathsat in order]2 liquidhaskell0drop module qualifers from pretty-printed names.2 liquidhaskell)don't show subtyping errors and contexts.2 liquidhaskellfind and use .cabal file to include paths to sources for imported modules2 liquidhaskell#command-line options to pass to GHC2 liquidhaskell..c files to compile and link against (for GHC)2 liquidhaskelleliminate (i.e. don't use qualifs for) for "none", "cuts" or "all" kvars2 liquidhaskellport at which lhi should listen2 liquidhaskell>= x -> e2) specially for inference2 liquidhaskell9print full blown core (with untidy names) in verbose mode2 liquidhaskellsimplify GHC core before constraint-generation PLE-OPT , autoInst ntiate :: Instantiate -- ^ How to instantiate axioms2 liquidhaskell!Disable non-concrete KVar slicing2 liquidhaskell9Disable loading lifted specifications (for "legacy" libs)2 liquidhaskell"Enable proof-by-logical-evaluation2 liquidhaskell"Enable proof-by-logical-evaluation2 liquidhaskell8Enable proof-by-logical-evaluation locally, per function2 liquidhaskell6Enable extensional interpretation of function equality2 liquidhaskell-No inference of polymorphic type application.2 liquidhaskell?Allow "reflection"; switches on "--higherorder" and "--exactdc"2 liquidhaskellOnly "compile" the spec -- into .bspec file -- don't do any checking.2 liquidhaskell#Do not check the transitive imports2 liquidhaskellWarn about "typed-holes"2222222222222222222222222222222222222222222222222222222222222222222222222222222222222322222222222222222222222222222222222222222222222222222222222222222222222222222222222223None#$*6B33333333333333333333333333333333None #$'(*38>?73 liquidhaskellMake each gradual appearance unique -------------------------------------33None#$*7>33None#$*>7i3333 Safe-Inferred#$*73333333333333333None#$*7333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333None #$*358<=>FC74 liquidhaskellSimple unstructured type for panic ----------------------------------------4 liquidhaskellGeneric Type for Error Messages -------------------------------------------:INVARIANT : all Error constructors should have a pos field4 liquidhaskellliquid type error4 liquidhaskell(liquid type error with a counter-example4 liquidhaskellliquid type error4 liquidhaskell hole type4 liquidhaskell$hole dependencies form a cycle error4 liquidhaskellcondition failure error4 liquidhaskellspecification parse error4 liquidhaskellsort error in specification4 liquidhaskellsort error in specification4 liquidhaskell#multiple alias with same name error4 liquidhaskell$multiple specs for same binder error4 liquidhaskell1multiple definitions of the same instance measure4 liquidhaskell(multiple definitions of the same measure4 liquidhaskell duplicate fields in same datacon4 liquidhaskell+name resolves to multiple possible GHC vars4 liquidhaskellbad data type specification (?)4 liquidhaskellbad data type specification (?)4 liquidhaskell*refined datacon mismatches haskell datacon4 liquidhaskellInvariant sort error4 liquidhaskellUsing sort error4 liquidhaskellIncompatible using error4 liquidhaskellMeasure sort error4 liquidhaskellHaskell bad Measure error4 liquidhaskellUnbound symbol in specification4 liquidhaskellUnbound predicate being applied4 liquidhaskell#GHC error: parsing or type checking4 liquidhaskellName resolution error4 liquidhaskell)Mismatch between Liquid and Haskell types4 liquidhaskell7Mismatch in expected/actual args of abstract refinement4 liquidhaskell%Cyclic Refined Type Alias Definitions4 liquidhaskell5Illegal RTAlias application (from BSort, eg. in PVar)4 liquidhaskellTermination Error4 liquidhaskellTermination Error4 liquidhaskellInstance Law Error4 liquidhaskell!Refined Class/Interfaces Conflict4 liquidhaskell#Standalone class method refinements4 liquidhaskellNon well sorted Qualifier4 liquidhaskell9Previously saved error, that carries over after DiffCheck4 liquidhaskell Sigh. Other.4 liquidhaskellhaskell type location4 liquidhaskell%specific pair of things that mismatch4 liquidhaskelllq type location4 liquidhaskellDifferent kinds of Check  Obligations% ------------------------------------4 liquidhaskell"Obligation that proves termination4 liquidhaskell!Obligation that proves invariants4 liquidhaskell,Obligation that proves subtyping constraints4 liquidhaskellContext information for Error Messages ------------------------------------4 liquidhaskell'Construct and show an Error, then crash4 liquidhaskell'Construct and show an Error, then crash4 liquidhaskell'Construct and show an Error, then crash4 liquidhaskellConstruct and show an Error with an optional SrcSpan, then crash This function should be used to mark unimplemented functionality4 liquidhaskellConstruct and show an Error with an optional SrcSpan, then crash This function should be used to mark impossible-to-reach codepaths4 liquidhaskell.Convert a GHC error into a list of our errors.3334444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444433344444444444444None#$*J5 liquidhaskellLike the original 5$, but internally converts the input Doc2 (from the "pretty" library) into GHC's internal SDoc.5 liquidhaskellLike 5, but it uses GHC's internal Doc. This can be very convenient when logging things which comes directly from GHC rather than LiquidHaskell.5 liquidhaskell Like GHC's 5, but it builds the final ErrMsg out of two "HughesPJ"'s Docs.555555555555None #$&'(*>QI 5 liquidhaskellManipulating Source Spans -------------------------------------------------5 liquidhaskellEncoding and Decoding Location --------------------------------------------5 liquidhaskellGeneric Helpers for Accessing GHC Innards ---------------------------------5 liquidhaskellPretty Printers -----------------------------------------------------------5 liquidhaskellManipulating CoreExpr -----------------------------------------------------5 liquidhaskellPredicates on CoreExpr and DataCons ---------------------------------------5 liquidhaskellSymbol Conversions --------------------------------------------------------5 liquidhaskellManipulating Symbols ------------------------------------------------------6 liquidhaskellGHC Compatibility Layer ---------------------------------------------------6 liquidhaskell"The following functions test if a  or CoreVar* are just types in disguise, e.g. have ! (in the GHC sense of the word), and so shouldn't appear in refinements.6 liquidhaskell'defaultDataCons t ds' returns the list of '(dc, types)' pairs, corresponding to the _missing_ cases, i.e. _other_ than those in ds', that are being handled by DEFAULT.6 liquidhaskell NOTE:REFLECT-IMPORTSwe **eschew** the unique suffix for exported vars, to make it possible to lookup names from symbols _across_ modules; anyways exported names are top-level and you shouldn't have local binders that shadow them. However, we **keep** the unique suffix for local variables, as otherwise there are spurious, but extremely problematic, name collisions in the fixpoint environment.6 liquidhaskellSymbol Instances5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666666666666666655555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666None#$*Vi6 liquidhaskellLoc -> (Var, Type)6 liquidhaskellList of error intervals6 liquidhaskellType information with spans6 liquidhaskellFormats Haskell source code using HTML and mouse-over annotations6 liquidhaskellFormats Haskell source code using HTML and mouse-over annotations6 liquidhaskellWhether to include anchors. liquidhaskell1Whether input document is literate haskell or not liquidhaskell3Haskell source code, Annotations as comments at end liquidhaskellColoured Haskell source code.6 liquidhaskellWhether to include anchors. liquidhaskell!Function to refine comment tokens liquidhaskell1Whether input document is literate haskell or not liquidhaskellHaskell Source, Annotations liquidhaskellColoured Haskell source code.66666666666666666666666666666666None #$*3>?WE6 liquidhaskell BindVisitor; allows for generic, context sensitive traversals over the  CoreBinds 66666666666 66666666666None #$*-235678<=>?{C6 liquidhaskellKVar Profile --------------------------------------------------------------6 liquidhaskellRecursive binder letrec x = ...6 liquidhaskellNon recursive binder  let x = ...6 liquidhaskellInt is the number of cases6 liquidhaskellProjecting out field of6 liquidhaskellOutput --------------------------------------------------------------------6 liquidhaskellAnnotations -------------------------------------------------------6 liquidhaskellVar Hole Info -----------------------------------------------------7 liquidhaskelldue to `reflect foo` 7 liquidhaskell;due to `measure foo` with old-style (non-haskell) equations7 liquidhaskell5due to `measure foo` with new-style haskell equations7 liquidhaskell"due to `class measure` definition 7 liquidhaskell1due to `measure foo` without equations c.f. testsposT1223.hs7 liquidhaskell F.EVar x7 liquidhaskellx -> f x7 liquidhaskellData Constructor7 liquidhaskell DataCon name7 liquidhaskellType parameters7 liquidhaskell5The GHC ThetaType corresponding to DataCon.dataConSig7 liquidhaskell field-name and field-Type pairs 7 liquidhaskell!Possible output (if in GADT form)7 liquidhaskellThe name of the / corresponding to a 77 liquidhaskellfor isVanillyAlgTyCon we can directly use the / name7 liquidhaskellfor   TyCon we save some  name7 liquidhaskellData type refinements7 liquidhaskellType Constructor Name7 liquidhaskellTyvar Parameters7 liquidhaskellPVar Parameters7 liquidhaskellData Constructors7 liquidhaskellSource Position7 liquidhaskellDefault termination measure7 liquidhaskellType of Ind-Prop7 liquidhaskellUser-defined or Auto-lifted7 liquidhaskellValues Related to Specifications ------------------------------------8 liquidhaskellRefined Instances ---------------------------------------------------------8 liquidhaskellA World is a Separation Logic predicate that is essentially a sequence of binders that satisfies two invariants (TODO:LIQUID): 1. Each `hs_addr :: Symbol` appears at most once, 2. There is at most one 8 in a list.8 liquidhaskellRTProp is a convenient alias for Ref that will save a bunch of typing. In general, perhaps we need not expose Ref directly at all.8 liquidhaskellRef describes `Prop ` and HProp? arguments applied to type constructors. For example, in [a] {h- v > h}>, we apply (via 8 ) * the 8( denoted by `{h -> v > h}` to * the 8 denoted by `[]`. Thus, Ref is used for abstract-predicate (arguments) that are associated with _type constructors_ i.e. whose semantics are _dependent upon_ the data-type. In contrast, the 8 argument in 8 in the UReft applies directly to any type and has semantics _independent of_ the data-type.8 liquidhaskell$Abstract refinement associated with 88 liquidhaskell "forall x y  z:: Nat, w :: Int7 . TYPE" ^^^^^^^^^^^^^^^^^^^ (rt_pvbind)8 liquidhaskellFor example, in [a] {h- v > h}>, we apply (via 8 ) * the 8( denoted by `{h -> v > h}` to * the 8 denoted by `[]`.8 liquidhaskell5For expression arguments to type aliases see testspos vector2.hs8 liquidhaskelllet LH match against the Haskell type and add k-vars, e.g. `x:_` see testsposHoles.hs8 liquidhaskellUnified Representation of Refinement Types --------------------------------8 liquidhaskellCo- and Contra-variance for TyCon --------------------------------Indexes start from 0 and type or predicate arguments can be both covariant and contravaariant e.g., for the below Foo dataTypedata Foo a b c d  p:: b -6 Prop, q :: Int -> Prop, r :: a -> Prop> = F (a r -> b p) | Q (c -> a) | G (Int q -> a r)there will be:varianceTyArgs = [Bivariant , Covariant, Contravatiant, Invariant] variancePsArgs = [Covariant, Contravatiant, Bivariant]8 liquidhaskell variance info for type variables8 liquidhaskell%variance info for predicate variables8 liquidhaskell>logical UNARY function that computes the size of the structure8 liquidhaskellGHC Type Constructor8 liquidhaskell TyConInfo8 liquidhaskell$TyCon name with location information8 liquidhaskell!Is this a class type constructor?8 liquidhaskellIs Promoted Data Con?8 liquidhaskellPredicates ----------------------------------------------------------------8 liquidhaskell?Abstract Predicate Variables ----------------------------------9 liquidhaskell*Which Top-Level Binders Should be Verified9 liquidhaskellCorresponding GHC DataCon 9 liquidhaskellType parameters9 liquidhaskellAbstract Refinement parameters9 liquidhaskell? Class constraints (via )9 liquidhaskellValue parameters9 liquidhaskell>Result type , tyData :: !SpecType -- ^ The generic ADT, see [NOTE:DataCon-Data]9 liquidhaskellWas this specified in GADT style (if so, DONT use function names as fields)9 liquidhaskell Which module was this defined in9 liquidhaskell)Map from symbols to equations they define9 liquidhaskellMap from (lifted) Vars to G:; see: NOTE:LIFTED-VAR-SYMBOLS and NOTE:REFLECT-IMPORTs9 liquidhaskellPrinter ----------------------------------------------------------------9 liquidhaskellprint abstract-predicates 9 liquidhaskell&print the unique suffix for each tyvar9 liquidhaskell'print the tycons without qualification 9 liquidhaskellgross with full info9 liquidhaskell#Information about Type Constructors9 liquidhaskellMap from GHC TyCon to RTyCon 9 liquidhaskell'Map from GHC Family-Instances to RTyCon9 liquidhaskellArity of each Family-Tycon 9 liquidhaskell(Information about scope Binders Scope in9 liquidhaskellAccessors for RTyCon9 liquidhaskellVisitors ------------------------------------------------------------------9 liquidhaskellPrinting Warnings ---------------------------------------------------------: liquidhaskellF.PPrint -----------------------------------------------------------------: liquidhaskellTyConable Instances -------------------------------------------------------: liquidhaskell NOTE:DataCon-Data for each 9 we also store the type of the constructed data. This is *the same as* tyRes for *vanilla* ADTs (e.g. List, Maybe etc.) but may differ for GADTs. For example,9data Thing a where X :: Thing Int Y :: Thing Bool Here the 9 associated with X (resp. Y ) has tyRes corresponding to 'Thing Int' (resp. 'Thing Bool'), but in both cases, the tyData should be 'Thing a'.: liquidhaskellFor debugging.8 liquidhaskellResolved version8 liquidhaskellBare parsed version1111111111111112222222222222222222222222222222222222222222222222222222222222222222222222222222222222333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::::99999999111111111188888998888888888899999998888888888888888888888888888888888889887777778998888888888888888888888888888899999888999998888888887779777777777777797777777999999999999777977799999999988888888888888888888777777777777777799999999999999999999:9999999999944449966666666666666666666::999999911111999999997777779:9:::77778888777979999997777777777777777777777777777777777777666666966666766666666666::99999999999997778888877777778887777977::77777777799None  #$*->?< liquidhaskellPretty-printing errors ----------------------------------------------------< liquidhaskellSimilar in spirit to < from the GHC API, but it uses our pretty-printer and shim functions under the hood.< liquidhaskellPretty Printing RefType ---------------------------------------------------< liquidhaskellA whole bunch of PPrint instances follow ----------------------------------89<<<<<<8<<<<9<<None#$*< liquidhaskellThe TagKey is the top-level binder, and Tag is a singleton Int list<<<<<=<<<<=<None #$&'(*2>====None#$*= liquidhaskell A single span= liquidhaskell,binder for whom we are generating constraint= liquidhaskellnearest known Source Span= liquidhaskell Opaque type for a stack of spans ========= =========None #$'(*>e= liquidhaskellData type for high-level patterns -----------------------------------------= liquidhaskelle1 >>= x -> e2= liquidhaskellx= liquidhaskellm= liquidhaskell$dT= liquidhaskelle= liquidhaskellt= liquidhaskell"return"= liquidhaskellxe= liquidhaskellC= liquidhaskell  x1,...,xn= liquidhaskelli :: NatLT {len patBinds}= liquidhaskellLift expressions into High-level patterns ---------------------------------= liquidhaskellLower patterns back into expressions --------------------------------------==============================================None#$*> =========== ===========None #$&'(*->?= liquidhaskell)Various functions for converting vanilla G to Spec= liquidhaskellHelper Functions (RJ: Helping to do what?) --------------------------------= liquidhaskell NOTE:FamInstPredVars.related to [NOTE:FamInstEmbeds] See testsdatacon2pos/T1446.hs The function txRefSort convertsInt p ===> {v:Int | p v} which is fine, but also convertsField q' Blob a ===> {v:Field Blob a | q v}3which is NOT ok, because q expects a different arg.The above happens because, thanks to instance-family stuff, LH doesn't realize that q is actually an ARG of Field Blob Note that Field itself has no args, but Field Blob does.../That is, it is not enough to store the refined / info, solely in the 8. as with family instances, you need BOTH the /+ and the args to determine the extra info.  We do so in 9, and by crucially extending RefType.appRTyCon! whose job is to use the Refined TyCon that is, the RTyCon generated from the TyConP to strengthen individual occurrences of the TyCon applied to various arguments.= liquidhaskell famInstArgs c destructs a family-instance TyCon into its components, e.g. e.g. 'famInstArgs R:FieldBlob' is (Field, [Blob]) = liquidhaskellType Substitutions --------------------------------------------------------= liquidhaskell  NOTE:Hole-LitWe use = to convert RType to GHC.Type to expand any GHC related type-aliases, e.g. in Bare.Resolve.expandRTypeSynonyms. If the RType has a RHole then what to do? We, encode 8 as `LitTy LH_HOLE` -- which is a bit of a *hack*. The only saving grace is it is used *temporarily* and then swiftly turned back into an 8 via =1 (after GHC has done its business of expansion).Of course, we hope this doesn't break any GHC invariants! See issue  1476 and 1477 !The other option is to *not* use = on things that have holes in them, but this seems worse, e.g. because you may define a plain GHC alias like:type ToNat a = a -> Nat /and then you might write refinement types like:$and we'd want to expand the above to2and then resolve the hole using the (GHC) type of foo.Annotations and Solutions -------------------------------------------------= liquidhaskellFrom Old Fixpoint ---------------------------------------------------------> liquidhaskellBinders generated by class predicates, typically for constraining tyvars (e.g. FNum)> liquidhaskellTermination Predicates ----------------------------------------------------> liquidhaskelltyVarsPosition t returns the type variables appearing | (in positive positions, in negative positions, in undetermined positions) | undetermined positions are due to type constructors and type application> liquidhaskellPrinting Refinement Types -------------------------------------------------> liquidhaskellAuxiliary Stuff Used Elsewhere ---------------------------------------------> liquidhaskellConverting to Fixpoint ----------------------------------------------------> liquidhaskellWrappers for GHC Type Elements --------------------------------------------> liquidhaskellReftable Instances -------------------------------------------------------> liquidhaskellSubable Instances -----------------------------------------------------9================================================================>>>>>>>>>9=======>>>>=================================>>===========>>=======>======None #$*>?Z> liquidhaskellConverting Results To Answers -------------------------------------> liquidhaskellThis function is put in this module as it depends on the Exception instance, which depends on the PPrint instance, which depends on tidySpecType.Show an Error, then crash> liquidhaskellPretty Printing Error Messages -------------------------------------------- Need to put  PPrint Error: instance here (instead of in Types), as it depends on PPrint SpecTypes, which lives in this module.1>>>>>>>1>>>>> None  #$*3>?> liquidhaskelldataConPSpecType converts a DataConP, LH's internal representation for a (refined) data constructor into a SpecType for that constructor. TODO: duplicated with Liquid.Measure.makeDataConType> liquidhaskellInterface: Replace Predicate With Uninterpreted Function Symbol -------> liquidhaskell pvarRType  returns a trivial RType2 corresponding to the function signature for a PVar . For example, if  :: T1 -> T2 -> T3 -> Prop then  pvarRType  returns an RType with an RTycon called  predRTyCon `RApp predRTyCon [T1, T2, T3]`> liquidhaskell Instantiate 8 with 80 ----------------------------------------------- replacePreds is the main function used to substitute an (abstract) predicate with a concrete Ref, that is either an 8 or RHProp4 type. The substitution is invoked to obtain the 8 resulting at predicate application sites in ab. The range of the 8 substitutions are fresh or true RefType0. That is, there are no further _quantified_ 8 in the target.> liquidhaskellInterface: Modified CoreSyn.exprType due to predApp -------------------#89999999999999999999999>>>>>>>>>>>>#8999999999999999999999>>>>>>>>>9>>>!None #$*> liquidhaskell6Horrible hack to support hardwired symbols like G, G, G, G and other LH generated symbols that *do not* correspond to GHC Vars and *should not* be resolved to GHC Vars.> liquidhaskellLH Primitive TyCons -------------------------------------------------------> liquidhaskellLH Primitive TyCons ---------------------------------------------- >>>>>>>>>>>> >>>>>>>>>>>>"None#$*U>>#None #$*->? >>>>>>>>> >>>>>>>>>$None#$*>?7? liquidhaskellDictionary Environment ---------------------------------------------------- >???????? >????????%None #$*38?~? liquidhaskellThe name of the bound? liquidhaskell(Type variables that appear in the bounds? liquidhaskell'These are abstract refinements, for now? liquidhaskellThese are value variables? liquidhaskellThe body of the bound ???????????? ????????????&None #$*8<=>?L? liquidhaskellImported Environment? liquidhaskell*Lifted specification for the target module? liquidhaskell%Path for LH include/prelude directory? liquidhaskellSource file for module? liquidhaskellName for module? liquidhaskell Source Code? liquidhaskellAll used Type constructors? liquidhaskellClass instances?? liquidhaskell&Binders created by GHC eg dictionaries? liquidhaskell4Binders that are _read_ in module (but not defined?)? liquidhaskell0(Top-level) binders that are _defined_ in module? liquidhaskell!Binders that are _read_ in module? liquidhaskell0's exported by the module being verified? liquidhaskellFamily instance TyCons ? liquidhaskellFamily instance DataCons ? liquidhaskell.Primitive GHC TyCons (from TysPrim.primTyCons)? liquidhaskellMap of qualified imports? liquidhaskellSet of _all_ imported modules? liquidhaskellAll the TyThings known to GHC? liquidhaskellThe target/ dependencies that concur to the creation of a @ and a ?.? liquidhaskellA newtype wrapper around a . which: Allows a .! to be serialised (i.e. it has a G instance)>It tries to use stable comparison and equality under the hood.? liquidhaskellA ? is derived from an input @ and a set of its dependencies. The general motivations for lifting a spec are (a) name resolution, (b) the fact that some info is only relevant for checking the body of functions but does not need to be exported, e.g. termination measures, or the fact that a type signature was assumed. A ? is what we serialise on disk and what the clients should will be using.What we do not have compared to a @: The ?+, as it's not necessary/visible to clients;The ?8, as they are probably not reachable for clients anyway;The ?(, they are now just "normal" signatures;The ?3, we don't do termination checking in lifted specs;The ?4, the reflection has already happened at this point;The ? , we have already* turned these into measures at this point;The ? , ditto as ?;The ? , ditto as ?;The ? , ditto as ?;The @=, we can't make any use of this information for lifted specs;The @3, we don't do termination checking in lifted specs;Apart from less fields, a ? )replaces all instances of lists with sets, to enforce duplicate detection and removal on what we serialise on disk.? liquidhaskell User-defined properties for ADTs? liquidhaskellImported variables types? liquidhaskellExported variables types? liquidhaskell9Assumed (unchecked) types; including reflected signatures? liquidhaskellImported functions and types? liquidhaskell9Data type invariants; the Maybe is the generating measure? liquidhaskell"Data type invariants to be checked? liquidhaskellLoaded spec module names? liquidhaskellPredicated data definitions? liquidhaskellPredicated new type definitions? liquidhaskellRefType aliases? liquidhaskellExpression aliases? liquidhaskellGHC-Tycon-to-fixpoint Tycon map? liquidhaskellQualifiers in source/spec files? liquidhaskell#Information on decreasing arguments? liquidhaskellVariables that should be checked in the environment they are used? liquidhaskellAutomatically instantiate axioms in these Functions with maybe specified fuel? liquidhaskell4Type Constructors that get automatically sizing info? liquidhaskell!Measures attached to a type-class? liquidhaskell'Mappings from (measure,type) -> measure? liquidhaskellRefined Type-Classes? liquidhaskellRefined Type-Classe Laws? liquidhaskell? Where do these come from ?!? liquidhaskellTemporary (?) hack to deal with dictionaries in specifications see testspos NatClass.hs? liquidhaskell'Equalities used for Proof-By-Evaluation? liquidhaskell A generic ?< type, polymorphic over the inner choice of type and binder.? liquidhaskell User-defined properties for ADTs? liquidhaskellImported variables types? liquidhaskellExported variables types? liquidhaskell9Assumed (unchecked) types; including reflected signatures? liquidhaskellImported functions and types? liquidhaskellLocal type signatures? liquidhaskellReflected type signatures? liquidhaskell9Data type invariants; the Maybe is the generating measure? liquidhaskell"Data type invariants to be checked? liquidhaskellLoaded spec module names? liquidhaskellPredicated data definitions? liquidhaskellPredicated new type definitions? liquidhaskellIncluded qualifier files? liquidhaskellRefType aliases? liquidhaskellExpression aliases? liquidhaskellGHC-Tycon-to-fixpoint Tycon map? liquidhaskellQualifiers in source/spec files? liquidhaskell#Information on decreasing arguments? liquidhaskellVariables that should be checked in the environment they are used? liquidhaskell+Ignore Termination Check in these Functions? liquidhaskell#Theorems turned into rewrite rules ? liquidhaskell Definitions using rewrite rules ? liquidhaskell These Functions should be unsafe? liquidhaskellBinders to reflect? liquidhaskellAutomatically instantiate axioms in these Functions with maybe specified fuel? liquidhaskell7Binders to turn into measures using haskell definitions? liquidhaskell5Binders to turn into bounds using haskell definitions? liquidhaskell;Binders to turn into logic inline using haskell definitions? liquidhaskellBinders to ignore during checking; that is DON't check the corebind. ? liquidhaskell4Type Constructors that get automatically sizing info@ liquidhaskell4Command-line configurations passed in through source@ liquidhaskell!Measures attached to a type-class@ liquidhaskell'Mappings from (measure,type) -> measure@ liquidhaskellRefined Type-Classes@ liquidhaskellRefined Type-Classe Laws@ liquidhaskell$Terminating Conditions for functions@ liquidhaskell? Where do these come from ?!@ liquidhaskellTemporary (?) hack to deal with dictionaries in specifications see testspos NatClass.hs@ liquidhaskell'Equalities used for Proof-By-Evaluation@ liquidhaskellA @ is the spec we derive by parsing the Liquid Haskell annotations of a single file. As such, it contains things which are relevant for validation and lifting; it contains things like the pragmas the user defined, the termination condition (if termination-checking is enabled) and so on and so forth.  Crucially, as a @ is still subject to "preflight checks", it may contain duplicates (e.g. duplicate measures, duplicate type declarations etc.) and therefore most of the fields for a @ are lists, so that we can report these errors to the end user: it would be an error to silently ignore the duplication and leave the duplicate resolution to whichever G1 instance is implemented for the relevant field.Also, a @ has not yet been subject to name resolution, so it may refer to undefined or out-of-scope entities.@ liquidhaskellBinders to USE PLE @ liquidhaskellLifted definitions @ liquidhaskell(Axioms from imported reflected functions@ liquidhaskell"Axioms from my reflected functions@ liquidhaskellBinders for reflected functions@ liquidhaskell*Binders to CHECK by structural termination@ liquidhaskell-Binders to IGNORE during termination checking@ liquidhaskell-Binders to IGNORE during termination checking@ liquidhaskellBinders to fail type checking@ liquidhaskell4Lexicographic order of decreasing args (DEPRECATED) @ liquidhaskell Int@ liquidhaskellData type invariants from measure definitions, e.g forall a. {v: [a] | len(v) >= 0}@ liquidhaskellData type invariant aliases @ liquidhaskellMeasure definitions@ liquidhaskellAsserted Reftypes@ liquidhaskellAssumed Reftypes@ liquidhaskellReflected Reftypes @ liquidhaskellAuto generated Signatures@ liquidhaskell Mapping of  'newtype', type constructors with their refined types.@ liquidhaskellRefined Classes from Instances @ liquidhaskellRefined Classes from Classes @ liquidhaskell5Lexicographically ordered expressions for termination@ liquidhaskellQualifiers in SourceSpec files e.g testspos/qualTest.hs@ liquidhaskell2Refinement type aliases (only used for qualifiers)@ liquidhaskellThe collection of GHC ! s that a @ needs to verify (or skip).@ liquidhaskell5Top-level Binders To Verify (empty means ALL binders)@ liquidhaskell9Top-level Binders To NOT Verify (empty means ALL binders)@ liquidhaskellVariables that should be checked "lazily" in the environment they are used@ liquidhaskellRefined Class methods @ liquidhaskellA @ is what we  actually check via LiquidHaskell. It is created as part of  mkTargetSpec alongside the ?'. It shares a similar structure with a @, but manipulates and transforms the data in preparation to the checking process.@ liquidhaskellImported Environment@ liquidhaskell@ is a map of qualified imports.@ liquidhaskell+All the modules that are imported qualified@ liquidhaskell*Map from qualification to full module name@ liquidhaskellThe @ type is a collection of all the things we know about a module being currently checked. It include things like the name of the module, the list of s, the /)s declared in this module (that includes /s for classes), typeclass instances and so and so forth. It might be consider a sort of 9 embellished with LH-specific information (for example, @ are populated with datacons from the module plus the let vars derived from the A-normalisation).@ liquidhaskell%Path for LH include/prelude directory@ liquidhaskellSource file for module@ liquidhaskellName for module@ liquidhaskell Source Code@ liquidhaskellAll used Type constructors@ liquidhaskellClass instances?@ liquidhaskell&Binders created by GHC eg dictionaries@ liquidhaskell4Binders that are _read_ in module (but not defined?)@ liquidhaskell0(Top-level) binders that are _defined_ in module@ liquidhaskell!Binders that are _read_ in module@ liquidhaskell0's exported by the module being verified@ liquidhaskellFamily instance TyCons @ liquidhaskellFamily instance DataCons @ liquidhaskell.Primitive GHC TyCons (from TysPrim.primTyCons)@ liquidhaskellMap of qualified imports@ liquidhaskellSet of _all_ imported modules@ liquidhaskellAll the TyThings known to GHC@ liquidhaskellThe @ of the module being checked.@ liquidhaskellThe @ of the module being checked.@ liquidhaskell Converts a . into a ?.@ liquidhaskellDrop the given ? from the dependencies.@ liquidhaskellReturns G if the input ! is a PLE one.A liquidhaskellReturns G if the input !& was exported in the module the input @ represents.????????????????????????????????????????????????????????????????????????@@????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?????????????????????????????????@@???@@A@@@@????@@????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@????????????????????????????????AAAAA'None  #$*-8>? ;666666????@@????????????????????????????@@@@@@@@@@@@AAAAAAA;????@@????????????????????????????@@@@@@@@@@666666A@@AAAAAA(None#$*A liquidhaskell4Intermediate representation for Measure information A liquidhaskellA TycEnv contains the information needed to process Type- and Data- Constructors A liquidhaskellA SigEnv0 contains the needed to process type signatures A liquidhaskellA  TyThingMap% is used to resolve symbols into GHC TyThing3 and, from there into Var, TyCon, DataCon, etc.A liquidhaskell LocalVars* is a map from names to lists of pairs of Ghc.Var/ and the lines at which they were defined. A liquidhaskellName resolution environment A liquidhaskellsee "syms" in old makeGhcSpec'A liquidhaskellsee "su" in old makeGhcSpec'A liquidhaskellqualified importsA liquidhaskellall imported modulesA liquidhaskell+lines at which local variables are defined.A liquidhaskell1global symbols, typically unlifted measures like len, fromJustA liquidhaskellall source infoA liquidhaskell2See [NOTE: Plug-Holes-TyVars] for a rationale for PlugTV A liquidhaskell*Use tyvars from GHC specification (in the v) A liquidhaskell$Use tyvars from Liquid specificationA liquidhaskellGeneralize ty-vars A liquidhaskell1Do NOT generalize ty-vars (e.g. for type-aliases)A liquidhaskell Converting Var to SortA liquidhaskellHandling failed resolution 49AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAAAAAAAAAAAAAAAAAAAAAA)None #$'(*>?A liquidhaskellTop-level rewriter --------------------------------------------------------AA*None #$*3>?6AAAAAAAAAAAA+None #$*>A liquidhaskellA-Normalize a module ------------------------------------------------------AA,None#$*? =AAAAAAAAA AAAAAA=AAA-None#$*JAAAAAA.None#$*>{BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/None#$*BB0None #$*->?x B liquidhaskellUsing the environment B liquidhaskellCreating an environment B liquidhaskellWe prioritize the Ghc.Var in srcVars because  _giDefVars and  gsTyThings have _different_ values for the same binder, with different types where the type params are alpha-renamed. However, for absref, we need _the same_ type parameters as used by GHC as those are used inside the lambdas and other bindings in the code. See also [NOTE: Plug-Holes-TyVars] and tests-absref-pos-Papp00.hs B liquidhaskellQualify various names B liquidhaskellChecking existence of names B liquidhaskell maybeResolve wraps the plain resolve to return Nothing/ if the name being searched for is unknown.B liquidhaskell ofBareType and  ofBareTypeE should be the _only_ SpecType constructorsB liquidhaskell&Is this the SAME as addTyConInfo? No. B (1) adds the _real_ sorts to RProp, (2) gathers _extra_ RProp at turns them into refinements, e.g. testsposmulti-pred-app-00.hsB liquidhaskellresolveLocalBinds resolves that the "free" variables that appear in the type-sigs for non-toplevel binders (that correspond to other locally bound) source variables that are visible at that at non-top-level scope. e.g. tests-names-pos-local02.hs BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB1None #$*?B liquidhaskell DataConMap stores the names of those ctor-fields that have been declared as SMT ADTs so we don't make up new names for them.B liquidhaskell'makeDataConChecker d' creates the measure for `is$d` which tests whether a given value was created by d. e.g. is$Nil or is$Cons.B liquidhaskell'makeDataConSelector d' creates the selector `select$d$i` which projects the i-th field of a constructed value. e.g. `select$Cons$1` and `select$Cons$2` are respectively equivalent to G and G.B liquidhaskellmakeClassEmbeds: sort-embeddings for numeric, and family-instance tyconsB liquidhaskellBare Predicate: DataCon Definitions ---------------------------------------BBBBBBBBBBBBBBBB2None  #$*>?)B liquidhaskell NOTE:inlineSpecType typethe refinement depends on whether the result type is a Bool or not: CASE1: measure flogic :: X -> Bool  = fhaskell :: x:X -> {v:Bool | v  = (flogic x)} CASE2: measure flogic :: X -> Y  = f"haskell :: x:X -> {v:Y | v = (f logic x)}B liquidhaskellRefine types of measures: keep going until you find the last data con! this code is a hack! we refine the last data constructor, it got complicated to support both 1. multi parameter measures (see testsposHasElem.hs) 2. measures returning functions (fromReader :: Reader r a -> (r -> a) ) TODO: SIMPLIFY by dropping support for multi parameter measuresB liquidhaskell'weakenResult foo t' drops the singleton constraint `v = foo x y` that is added, e.g. for measures in /strengthenResult'. This should only be used _when_ checking the body of foo where the output, is, by definition, equal to the singleton. BBBBBBBBBBBBB BBBBBBBBBBBBB3None #$*0B liquidhaskellB returns G for unhandled lits because otherwise string-literals show up as global int-constants which blow up qualifier instantiation.BBBBBBBBBBcNone#$*f111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233334444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444466666666666666666666666666666666666666666666666666766677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888778888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888998999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::::<<<<<<================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@????????????????????????????@@??@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAABBBBB4None #$*>?B liquidhaskellData Types ----------------------------------------------------------------+Main type of value returned for diff-check.B liquidhaskell checkedNames returns the names of the top-level binders that will be checkedB liquidhaskellB returns a subset of the  [CoreBind] of the input target file which correspond to top-level binders whose code has changed and their transitive dependencies.B liquidhaskellthin cbs sp vs returns a subset of the cbs :: [CoreBind]+ which correspond to the definitions of vs and the functions transitively called therein for which there are *no* type signatures. Callees with type signatures are assumed to satisfy those signatures.B liquidhaskell(Given a call graph, and a list of vars, B checks all functions to see if they call any of the functions in the vars list. If any do, then they must also be rechecked.B liquidhaskellsave" creates an .saved version of the target; file, which will be used to find what has changed the  next time target is checked.B liquidhaskellAeson instances ----------------------------------------------------------- BBBBBBBBBBBB BBBBBBBBBBBB5None #$*>?C liquidhaskelloutput" creates the pretty printed outputC liquidhaskellannotate% actually renders the output to filesC liquidhaskellJSON Instances ----------------------------------------------------CCCCCCCC6None#$%&*>[C liquidhaskell6The "header" like "LIQUID: SAFE", or "LIQUID: UNSAFE".C liquidhaskellThe list of pretty-printable messages (typically errors) together with their source locations.C liquidhaskellShows the LiquidHaskell banner, that includes things like the copyright, the git commit and the version.C liquidhaskellAttempt to canonicalize all G s in the 23 so we don't have to worry about relative paths.C liquidhaskellWrites the annotations (i.e. the files in the ".liquid" hidden folder) and report the result of the checking using a supplied function.2CCCCCCCCCCCCCCCCCCCCCCCCCCC2C7None#$*CC8None#$*>CCCCCC9None#$*CC:None  #$*>=CC;None#$*>gCC<None #$&*CC=None#$*>CC>None#$*>C liquidhaskellAssuming that the functions are instantiated when this function is called.C liquidhaskellAssuming that goals are type variables or constructors. Note: We maintain ordering from the goal type. Not handled (compared to @varsInType): function types, type applicationsC liquidhaskellReplace let bindings in applications. > If you find a binding add it to the second argument. | (lhs, rhs) |C liquidhaskellFunction used for pretty printing core as Haskell source. Input does not contain let bindings.C liquidhaskellThat' s a hack to get the type variables we need for instantiation.8CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC8CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC?None#$*>CCCCCCCCCCDDDDDDDCCCCCCCCCCDDDDDDD@None  #$*3>?_(D liquidhaskell!The AST for a single parsed spec.D liquidhaskell7 definitionD liquidhaskellassume signature (unchecked)D liquidhaskellassert signature (checked)D liquidhaskelllocal assertion -- RJ: what is thisD liquidhaskellRJ: what is thisD liquidhaskell'import' a specification moduleD liquidhaskellrefined 'data' declaration D liquidhaskellrefined  'newtype' declarationD liquidhaskellrefined 'class' definitionD liquidhaskell'class laws' definitionD liquidhaskellrefined  'instance' definitionD liquidhaskellinclude a path -- TODO: deprecate D liquidhaskell invariant specificationD liquidhaskellusing. declaration (for local invariants on a type) D liquidhaskell'type' alias declaration D liquidhaskell predicate alias declarationD liquidhaskellembed declarationD liquidhaskellqualif definitionD liquidhaskell decreasing annotation -- TODO: deprecateD liquidhaskelllazyvar( annotation, defer checks to *use* sitesD liquidhaskell?- annotation, skip termination check on binderD liquidhaskellG( annotation, the binder should be unsafeD liquidhaskellrewrite0 annotation, the binder generates a rewrite ruleD liquidhaskell rewritewith annotation, the first binder is using the rewrite rules of the second listD liquidhaskell'auto-inst' or ple' annotation; use ple locally on binder D liquidhaskell7+ annotation; lift Haskell binder as measureD liquidhaskellreflect8 annotation; reflect Haskell binder as function in logicD liquidhaskellinline7 annotation; inline (non-recursive) binder as an aliasD liquidhaskellignore/ annotation; skip all checks inside this binderD liquidhaskell?= annotation; automatically generate size metric for this typeD liquidhaskellbound annotation; lift Haskell binder as an abstract-refinement "bound"D liquidhaskellbound definitionD liquidhaskellLIQUID; pragma, used to save configuration options in source filesD liquidhaskell'class measure' definitionD liquidhaskell'instance measure' definitionD liquidhaskellvariance annotations, marking type constructor params as co-, contra-, or in-variantD liquidhaskellfixity annotationD liquidhaskelldefine annotation for specifying aliases c.f. `include-CoreToLogic.lg`D liquidhaskellTop Level Parsing API -----------------------------------------------------5Used to parse .hs and .lhs files (via ApiAnnotations)-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDANone  #$*35<DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBNone#$*?DDCNone #$*>?$aD liquidhaskellFixpoint Environment ------------------------------------------------------D liquidhaskell%Integer Keys for Fixpoint EnvironmentD liquidhaskellFixpoint EnvironmentD liquidhaskell!Map from Symbol to current BindIdD liquidhaskellHelper Types: HEnv --------------------------------------------------------D liquidhaskellGeneration: Types ---------------------------------------------------------D liquidhaskelltop-level fixpoint envD liquidhaskell subtyping constraints over RTypeD liquidhaskell%wellformedness constraints over RTypeD liquidhaskell$subtyping over Sort (post-splitting)D liquidhaskell5wellformedness constraints over Sort (post-splitting)D liquidhaskell"counter for generating fresh KVarsD liquidhaskellset of environment bindersD liquidhaskell existentialsD liquidhaskellsource-position annotation mapD liquidhaskell$information for ghc hole expressionsD liquidhaskell#information about type-constructorsD liquidhaskell6^ Lexicographic order of decreasing args (DEPRECATED) D liquidhaskell?Mapping of new type type constructors with their refined types.D liquidhaskell+Terminating Metrics for Recursive functionsD liquidhaskell3Set of variables to ignore for termination checkingD liquidhaskell)"Lazy binders", skip termination checkingD liquidhaskellBinders that FAILED struct termination check that MUST be checked D liquidhaskell ? FIX THISD liquidhaskell4primitive Sorts into which TyCons should be embeddedD liquidhaskell>Fixpoint Kut variables (denoting "back-edges"/recursive KVars)D liquidhaskell$Fixpoint "packs" of correlated kvarsD liquidhaskell&Global symbols in the refinement logicD liquidhaskell1Distinct constant symbols in the refinement logicD liquidhaskellADTs extracted from Haskell 'data' definitionsD liquidhaskellCheck Termination (?)D liquidhaskellprune unsorted refinementsD liquidhaskell#Errors during constraint generationD liquidhaskellProfiling distribution of KVarsD liquidhaskell3number of recursive functions seen (for benchmarks)D liquidhaskell+Source Span associated with Fixpoint BinderD liquidhaskell"Refined Types of Data ConstructorsD liquidhaskell Potentially unsorted expressionsE liquidhaskellSubtyping Constraints -----------------------------------------------------E liquidhaskell Location in original source fileE liquidhaskellSpecTypes for Bindings in scopeE liquidhaskell,Map from free Symbols (e.g. datacons) to VarE liquidhaskellDictionary EnvironmentE liquidhaskellGlobal literalsE liquidhaskellDistinct literalsE liquidhaskellFixpoint EnvironmentE liquidhaskell0recursive defs being processed (for annotations)E liquidhaskellDatatype invariantsE liquidhaskellDatatype recursive invariants: ignored in the base case assumed in rec callE liquidhaskellDatatype checkable invariantsE liquidhaskell6Top-level variables with (assert)-guarantees to verifyE liquidhaskell&Top-level variables with assumed typesE liquidhaskell6Top-level variables with auto generated internal typesE liquidhaskell+How to embed GHC Tycons into fixpoint sortsE liquidhaskell*Map from top-level binders to fixpoint tagE liquidhaskellCurrent top-level binderE liquidhaskell6Type of recursive function with decreasing constraintsE liquidhaskell6Let binding that have not been checked (c.f. LAZYVARs)E liquidhaskellPolymorhic let bindings E liquidhaskell&Types with holes, will need refreshingE liquidhaskellLogical ConstraintsE liquidhaskell)error that should be reported at the userE liquidhaskelltop-level TargetInfoE liquidhaskell top level function being checkedE liquidhaskellForcing Strictness --------------------------------------------------------DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDDEEDEEEEEEEEEEEEEEDDEEEDEEEEEDNone #$&*?&mE liquidhaskellUse explicitly given qualifiers .spec or source (.hs, .lhs) filesEEEEENone#$*?&EEEEEEEEFNone #$*->?(E liquidhaskellGeneration: Freshness -----------------------------------------------------Right now, we generate NO new pvars. Rather than clutter code with =< calls, put it in one place where the above invariant is  obviously4 enforced. Constraint generation should ONLY use  freshTy_type and  freshTy_exprE liquidhaskellThis is all hardwiring stuff to CG ----------------------------------------EEEEEEEEEEGNone #$*5>?(EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEHNone #$*>?,F liquidhaskellSynthesis Monad ----------------------------------------------------------F liquidhaskell Entry point.F liquidhaskell Initializes  ExprMemory structure. 1. Transforms refinement types to conventional (Haskell) types. 2. All Depths are initialized to 0.F liquidhaskellUsed for instantiation: Applies types to an expression. > The result does not have forall. Nothing as a result suggests that there are more types than foralls in the expression.F liquidhaskell)Instantiation based on current goal-type.F liquidhaskell#Instantiate the top-level variable.F liquidhaskellApplies type variables (1st argument) to an expression. The expression is guaranteed to have the same level of parametricity (same number of forall>) as the length of the 1st argument. > The result has zero forall.EEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFINone#$*.F liquidhaskellFor algebraic datatypes: Find (in the refinement type) all the datatypes that are used and get their constructors.FFFFFFFFJNone  #$*?0F liquidhaskellF2 adds a subtyping constraint into the global pool.F liquidhaskell(addPost: RJ: what DOES this function do?F liquidhaskellAdd Well formedness ConstraintF liquidhaskell Add a warningF liquidhaskellAdd Identifier Annotations, used for annotation binders (i.e. at binder sites)F liquidhaskell/Used for annotating reads (i.e. at Var x sites)F liquidhaskellUsed for annotating holes F liquidhaskellUpdate annotations for a location, due to (ghost) predicate applications FFFFFFFFFFFF FFFFFFFFFFFFKNone  #$*>?1[FFFFLNone#$*>1FFFFMNone #$*?2F liquidhaskellConstraint Generation Panic -----------------------------------------------FFFFFFFFNNone#$*2JFFFFONone #$*3F liquidhaskellNOTE: Be *very* careful with the use functions from RType -> GHC.Type, e.g. toType, in this module as they cannot handle LH type holes. Since this module is responsible for plugging the holes we obviously cannot assume, as in e.g. L.H.L.Constraint.* that they do not appear.FFFFPNone #$*>7F liquidhaskellF initializes the env needed to G refinements and types, that is, the below needs to be called *before* we use deF liquidhaskell qualifyExpand first qualifies names so that we can successfully resolve them during expansion. F liquidhaskell cookSpecType is the central place where a BareType/ gets processed, in multiple steps, into a SpecType. See [NOTE:Cooking-SpecType] for details of each of the individual steps.F liquidhaskellexpand on a BareType actually applies the type- and expression- aliases.F liquidhaskellexpand on a SpecType simply expands the refinements, i.e. *does not* apply the type aliases, but just the 1. predicate aliases, 2. inlines, 3. stuff from LogicMapFFFFFFFFFFFFQNone#$*7<FFRNone #$*>?7F liquidhaskellHardcode imported reflected functions ------------------------------------FFFFSNone #$*2567>?8F liquidhaskellConstraint Generation: Toplevel -------------------------------------------F liquidhaskellBidirectional Constraint Generation: SYNTHESIS ----------------------------FFFFFFFFTNone#$*>9FFFFFFFFUNone#$*>:tF liquidhaskellPruning terms for function application | --F liquidhaskellsearching for arguments of functions that can eventually produce the top level hole fillF liquidhaskellsearching for the hole fill G liquidhaskell.The first argument should be an 1-based index.FFFFFFFFFFFFGGGGGGGGGGGGGGFFFFFFFFFFFFGGGGGGGGGGGGGGVNone#$*>?;GGWNone#$*?;G liquidhaskellG converts the DataCons and creates the measures for the selectors and checkers that then enable reflection.GGGGGGGGGGGGGGGGXNone  #$*?<GGGGGGGGGGYNone  #$*?<G liquidhaskellChecking BareSpec ------------------------------------------------------------------------G liquidhaskellChecking TargetSpecGGGGZNone #$&*?@JG liquidhaskellDe/Serializing Spec filesG liquidhaskellG constructs the @* and then validates it. Upon success, the @ and the ? are returned. We perform error checking in "two phases": during the first phase, we check for errors and warnings in the input @ and the dependencies. During this phase we ideally want to short-circuit in case the validation failure is found in one of the dependencies (to avoid printing potentially endless failures). The second phase involves creating the @, and returning either the full list of diagnostics (errors and warnings) in case things went wrong, or the final @ and ? together with a list of 7s, which shouldn't abort the compilation (modulo explicit request from the user, to treat warnings and errors).GGGGGG[None #$&*>?F G liquidhaskellrealTargets mE cfg targets uses fg to return a list of files  i1, i2, ... ++ [f1, f2, ...] =Where each file only (transitively imports) PRECEDIING ones; `f1..`# are a permutation of the original targets;`i1..`) either don't have "fresh" .bspec files. G liquidhaskellGHC Interface Pipeline ----------------------------------------------------G liquidhaskellGHC Configuration & Setup -------------------------------------------------G liquidhaskellExtract Ids ---------------------------------------------------------------G liquidhaskell makeGhcSrc> builds all the source-related information needed for consgen G liquidhaskelllookupTyThings grabs all the Names and associated TyThing known to GHC for this module; we will use this to create our name-resolution environment (see hi+) G liquidhaskell*Returns all the available (i.e. exported) G$s (type constructors) for the input ..G liquidhaskell*Returns all the available (i.e. exported) !s for the input ..G liquidhaskellFamily instance informationG liquidhaskellExtract Specifications from GHC -------------------------------------------G liquidhaskellFinding & Parsing Files ---------------------------------------------------Handle Spec Files ---------------------------------------------------------G liquidhaskellPretty Printing -----------------------------------------------------------5GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG5GGGGG\None#$%*GQGGGGGGGGGG]None#$*38>HLG liquidhaskellCommand ------------------------------------------------------------------G liquidhaskellState --------------------------------------------------------------------GGGGGGGGGGGGGG^None#$*HGGGGjNone#$%'(*238>Pw G liquidhaskellData which can be "safely" passed to the "Core" stage of the pipeline. The notion of "safely" here is a bit vague: things like imports are somewhat guaranteed not to change, but things like identifiers might, so they shouldn't land here.G liquidhaskellSometimes we might be in a situation where we have "wrapper" modules that simply re-exports everything from the original module, and therefore when LH tries to resolve the GHC identifier associated to a data constructor in scope (from the call to lookupTyThings4) we might not be able to find a match because the mg_tcs for the input  is empty (because the type constructor are not defined in the wrapper module, but rather in the wrapped- module itself). This is why we look at the  's  AvailInfo to extract any re-exported / out of that.G liquidhaskell Ditto as for reflectedTyCons, but for identifiers.G liquidhaskell Just a small wrapper around the G, and the text fragment of a LH spec comment.G liquidhaskell8A cached spec which can be serialised into an interface.G liquidhaskellCreates a new G with no dependencies.G liquidhaskell(Adds a set of dependencies to the input G.G liquidhaskellReturns the target ? of this G.G liquidhaskell%Returns all the dependencies of this G.G liquidhaskell3Extracts all the dependencies from a collection of Gs.G liquidhaskellConverts the input @ into a G, inforcing the invariant that termination checking needs to be disabled as this is now considered safe to use for "clients".G liquidhaskell Merges a G with its G. Here duplicates are not checked as it's user's responsibility to make sure there are no duplicates between the in-module annotations and the companion spec.G liquidhaskell Constructs a G out of a TcGblEnv.#GGGGGGGGHHHHHGHHGGGGGGGGGGHHHHHHGHGkNone#$*3RH liquidhaskell Courtesy of https://github.com/nomeata/inspection-testing/blob/master/src/Test/Inspection/Plugin.hsinspection testingH liquidhaskell)Extracts the spec comments from the Core Hs. It returns a "cleaned" ( which doesn't contain the deserialised Hs. This also means that these Hs won't land into an interface file, and we won't be able to retrieve them back later on.H liquidhaskell Serialise a G2, removing the termination checks from the target.HHHHHlNone  #$*V^H liquidhaskell9The spec was loaded from the annotations of an interface.H liquidhaskell$The spec was loaded from disk (e.g. mn or similar)H liquidhaskell#The result of searching for a spec.H liquidhaskell$Load any relevant spec in the input SpecEnv, by updating it. The update will happen only if necessary, i.e. if the spec is not already present.H liquidhaskellIf this module has a "companion" '.spec' file sitting next to it, this H will try loading it.H liquidhaskellReturns a list of ?s which can be filtered out of the dependency list, because they are selectively "toggled" on and off by the LiquidHaskell's configuration, which granularity can be  per module.H liquidhaskell8Any relevant module fetched during dependency-discovery. HHHHHHHHHH_None #$&*3>WG liquidhaskellThe Plugin entrypoint ------------------------------------------------------GGoNone#$*W6DGDGpqrpqspqtpqupqvpqwpqxpqypqzpq{pq|pq}pq~pqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp p p p p p p p p p p p p p p p p p p p p p p p p p p pp p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p p p p p p p p p p p p p  p  p  p  p  p  p  p  p p p p p p p p p p p p p p p p p p  p  p  p  p  p  p  p p p  p  p p p p p p  p  p  p  p  p  p  p  p  p  p p p p p p p p  p  p  p  p  p  p  p  p  p  p p p p p p p p  p  p  p  p  p p p p  p  p  p  p  p  p  p  p  p  p  p p p p p p p p p p p p  p  p  p  p  p  p  p  p  p  p  p p  p  p  p p  p  p  p  p p p p p p p  p  p  p  p p p p p p p p  p  p  p  p p p p p p p  p  p  p  p  p  p p p p p  p  p  p  p  p  p  p  p  p  p  p  p  p  p p p p p p p  p  p  p  p  p  p  p  p  p  p  p  p  p p p p  p  p  p  p p p p p p p p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p p p p  p p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p p p p p p p p p p p p p p p p p p p p p  p  p p p p p p p p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p p p  p  p  p  p  p  p  p p p p  p  p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p p p p p p p p p p p p p p p p p p p p p  p  p  p  p  p  p  p p p  p  p p p p p p  p  p  p p p p p p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p  p p p  p  p  p  p  p  p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p  p  p  p p p p  p  p  p  p  p  p  p p p p  p  p  p  p  p  p  p  p  p p  p  p p p p p p p  p  p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp p ppppppppppppppppppppp ppppppppppp pppppppppppppppppppppppppppp ppp ppppppppppppppppppppp ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p pp p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p  p  p  p  p  p  p p p p  p  p p p p p p p p p p  p  p  p  p !p !p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p!"p"p"pp"pp"p"p"p"p"p"p"p"p"p"p"pp""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p""p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p"#p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p##p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#$p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#%p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#&p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#'p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#(p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#)p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p##p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#*p#+p#+p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p++p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p+,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,,p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,-p,.p,.p,.p,.p,+p,.p,.p,.p,.p,.p,.p,.p,p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p,.p".p".p".p".p".p".p".p".p".p".p".p".p".p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p..p+.p+.p+.p++p+/p+/p+,p+/p+/p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p/p/p/pp//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p//p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p/0p//p//p00p00p00p00p00p00p00p00p00p00p00p01p01p""p!!p11p11p11p11p#1p#1p#1p#1p#1p#1p#1p#1p#1p#1p#1p##p#1p#1p11p11p11p11p11p11p11p11p11p11p11p11p11p11p11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111e11111111111111111111111111111111111111.1111111111111111111111s1|{11111111111111 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3333333333333333333333333333333333333333333333333333333333333331333333333333333333333133333333333333333333333333333333333333333333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555%55551.555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667777777777777777777777777777767777777777777777777777777777777777777777777777  77777777777777777777777777777777777777777777777777777777777778888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 8888888999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<=============================================================================================================================<===>:>>>>>>>>>>>>>>>>>>>>555>>>>>> > > > > > > > > > > > > > > > >!>!"!>!>!>!>!>!>!>!>!>!>">#>#>#>#>#>#>#>#>#>#>#>#>#>#>#>$>$>$>$>$>$>$>$>$>%>%>%>%>%>%>%>%>%>%>%>%>%>%>%>%>%>%>%>%>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&>&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@&@'?'@'@'@'@'@'@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(#(@(@(@(@(@(@(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A)A*A*A*A*A*A*A*A*A*A+A+A+A+A+A+A,A,A,A,A,A,A,A,A,A-A-A-A-A-A-A-A-A.A..A..A.,.,.A.A.A.A.A.A.A.A.A.A.A/A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B3B3B3B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4;4;4B5B5B5B565B5B5B5B5B5B6B6B6B6B6B6%6B6B6B6B636B6B6B6B6B7B8B8B8B8B8B8B8B8B8B9B: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>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C>C?C?C?C?C?C?C?C?C?C?C?C?C?C?C?C?C?C?C@C@C@C@C@C@C@C@C@C@@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@.@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@CACACACACACACACACACACACACACACACACACACACACACACACACBCCCCCCCCCCDCDCDCDCDCDCDCDCDCDCDCDC7CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDC=CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDDDDDEDEDEDEDFDFDFDFDFDFDGDGDGDGDGDGDGDGDGDGDGDGEGEGEGEGEGEGEGEGEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHBHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEIEIEIEIEJEJEJEJEJEJEJEJEJEJEJEJEKEKELELEMEMEMENENEOEOEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPFPFQFRFRFR=R=R=SFSFSFSFSFSFSFSFSFSFTFTFTFTFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFVFWFWFWFWFWFWFWFWFXFXFXFXFXFYFYFZFZFZF[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F[F\F\F\F\F\F]F]F]F]F]F]F]6]F]F]F]6^F^F_F_F_F_Fp1FFFFFFFFFFF1FFGGGGGGGGGGGGGGGFGGGGGGGGGGGPeFGjGjGjGjGGGGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGjGkGkFpGGkGkGkGlGlGlGlGlGlGlGlGlGlGlGliquidhaskell-0.8.10.2-inplaceLanguage.Haskell.Liquid.GHC.APIGradual.GUI.Misc Gradual.Misc#Language.Haskell.Liquid.Types.TypesLanguage.Haskell.Liquid.UX.TidyGradual.TrivialLanguage.Haskell.Liquid.Cabal(Language.Haskell.Liquid.GHC.GhcMonadLike!Language.Haskell.Liquid.GHC.Types&Language.Haskell.Liquid.Types.Generics#Language.Haskell.Liquid.Types.Names&Language.Haskell.Liquid.Types.Variance!Language.Haskell.Liquid.UX.Config Gradual.TypesGradual.UniquifyGradual.RefinementsGradual.ConcretizePaths_liquidhaskellLanguage.Haskell.Liquid.Misc$Language.Haskell.Liquid.Types.Errors#Language.Haskell.Liquid.GHC.Logging Language.Haskell.Liquid.GHC.MiscLanguage.Haskell.Liquid.UX.ACSS&Language.Haskell.Liquid.Types.Visitors)Language.Haskell.Liquid.Types.PrettyPrint Language.Haskell.Liquid.UX.CTags#Language.Haskell.Liquid.GHC.TypeRep%Language.Haskell.Liquid.GHC.SpanStack#Language.Haskell.Liquid.GHC.Resugar Language.Haskell.Liquid.GHC.Play%Language.Haskell.Liquid.Types.RefType&Language.Haskell.Liquid.Types.PredTypeLanguage.Haskell.Liquid.WiredIn"Language.Haskell.Liquid.Types.Meet#Language.Haskell.Liquid.Types.Fresh*Language.Haskell.Liquid.Types.Dictionaries$Language.Haskell.Liquid.Types.Bounds#Language.Haskell.Liquid.Types.SpecsLanguage.Haskell.Liquid.Measure"Language.Haskell.Liquid.Bare.Types*Language.Haskell.Liquid.Transforms.Rewrite&Language.Haskell.Liquid.Transforms.Rec&Language.Haskell.Liquid.Transforms.ANF!Language.Haskell.Liquid.Bare.MiscGradual.PrettyPrintingGradual.GUI.TypesGradual.GUI.Annotate$Language.Haskell.Liquid.Bare.Resolve%Language.Haskell.Liquid.Bare.DataType.Language.Haskell.Liquid.Transforms.CoreToLogic&Language.Haskell.Liquid.Types.Literals$Language.Haskell.Liquid.UX.DiffCheck#Language.Haskell.Liquid.UX.Annotate"Language.Haskell.Liquid.UX.CmdLine Gradual.GUI&Language.Haskell.Liquid.Types.Equality+Language.Haskell.Liquid.Transforms.Simplify!Language.Haskell.Liquid.UX.Errors+Language.Haskell.Liquid.Transforms.RefSplit.Language.Haskell.Liquid.Termination.Structural.Language.Haskell.Liquid.Synthesize.Termination&Language.Haskell.Liquid.Synthesize.GHC'Language.Haskell.Liquid.Synthesize.MiscLanguage.Haskell.Liquid.Parse&Language.Haskell.Liquid.UX.QuasiQuoter$Language.Haskell.Liquid.LawInstances(Language.Haskell.Liquid.Constraint.Types,Language.Haskell.Liquid.Constraint.Qualifier-Language.Haskell.Liquid.Constraint.ToFixpoint(Language.Haskell.Liquid.Constraint.Fresh&Language.Haskell.Liquid.Constraint.Env(Language.Haskell.Liquid.Synthesize.Monad&Language.Haskell.Liquid.Synthesize.Env(Language.Haskell.Liquid.Constraint.Monad'Language.Haskell.Liquid.Constraint.Init-Language.Haskell.Liquid.Constraint.Constraint(Language.Haskell.Liquid.Constraint.Split#Language.Haskell.Liquid.Bare.ToBare$Language.Haskell.Liquid.Bare.Plugged#Language.Haskell.Liquid.Bare.Expand!Language.Haskell.Liquid.Bare.Laws"Language.Haskell.Liquid.Bare.Axiom+Language.Haskell.Liquid.Constraint.Generate(Language.Haskell.Liquid.Synthesize.Check+Language.Haskell.Liquid.Synthesize.Generate"Language.Haskell.Liquid.Synthesize$Language.Haskell.Liquid.Bare.Measure"Language.Haskell.Liquid.Bare.Class"Language.Haskell.Liquid.Bare.CheckLanguage.Haskell.Liquid.Bare%Language.Haskell.Liquid.GHC.InterfaceLanguage.Haskell.Liquid.Liquid)Language.Haskell.Liquid.Interactive.Types+Language.Haskell.Liquid.Interactive.Handler"Language.Haskell.Liquid.GHC.Plugin+Language.Haskell.Liquid.GHC.Plugin.TutorialLanguage.Haskell.Liquid ConstraintLanguage.Haskell.Liquid.TypesExpandexpand InterfaceconfigureGhcTargetsBareResolve(Language.Haskell.Liquid.GHC.Plugin.Types'Language.Haskell.Liquid.GHC.Plugin.Util-Language.Haskell.Liquid.GHC.Plugin.SpecFinderPreludespec LiquidHaskellghcGHCparser lookupNameobtainTermFromIdobtainTermFromValgetHistorySpan getGHCiMonad setGHCiMonadmoduleTrustReqsisModuleTrusted lookupModule findModuleshowRichTokenStreamaddSourceToTokensgetRichTokenStreamgetTokenStreampprParenSymName dataConTypegetNameToInstancesIndexgetGREfindGlobalAnnslookupGlobalName isDictonaryIdmodInfoModBreaks modInfoSafe modInfoRdrEnv modInfoIfacemodInfoLookupNamemkPrintUnqualifiedForModulemodInfoIsExportedNamemodInfoInstancesmodInfoExportsWithSelectorsmodInfoExportsmodInfoTopLevelScopemodInfoTyThings getModuleInfogetPrintUnqualgetInsts getBindingsisLoadedgetModuleGraphcompileToCoreSimplifiedcompileToCoreModule loadModule desugarModuletypecheckModule parseModule getModSummaryworkingDirectoryChanged guessTarget removeTarget addTarget getTargets setTargetsparseDynamicFlagsgetInteractiveDynFlagssetInteractiveDynFlagsgetProgramDynFlags setLogActionsetProgramDynFlagssetSessionDynFlags initGhcMonadwithCleanupSessionrunGhcTrunGhcdefaultCleanupHandlerdefaultErrorHandler parsedSource ParsedMod moduleInfotypecheckedSource renamedSourceTypecheckedMod coreModulepm_annotationspm_extra_src_filespm_parsed_sourcepm_mod_summary ParsedModule tm_internals_tm_checked_module_infotm_typechecked_sourcetm_renamed_sourcetm_parsed_moduleTypecheckedModuledm_core_moduledm_typechecked_moduleDesugaredModule ParsedSource RenamedSourceTypecheckedSourcecm_safecm_bindscm_types cm_module CoreModule ModuleInfoGhcMakecyclicModuleErrtopSortModuleGraphloaddepanalLoadDependenciesOfLoadUpToLoadAllTargets LoadHowMuchInteractiveEvalreconstructTypemoduleIsBootOrNotObjectLinkable showModuledynCompileExprcompileParsedExprcompileParsedExprRemotecompileExprRemote compileExpr parseExprparseInstanceHeadgetInstancesForTypetypeKindexprTypegetDocsisDeclisImport hasImportisStmt parseNamegetRdrNamesInScopegetNamesInScopegetInfomoduleIsInterpreted getContext setContext abandonAllabandonforwardback resumeExecparseImportDeclrunParsedDeclsrunDeclsWithLocationrunDecls execStmt'execStmt execOptionsgetHistoryModulegetResumeContextInteractiveName NoDocsInIfaceNameHasNoModuleGetDocsFailureHscMainshowModuleIndexdumpIfaceStatshscCompileCoreExpr'hscCompileCoreExprhscParseIdentifier hscParseTypehscParseStmtWithLocation hscParseExpr hscKcType hscTcExpr hscImporthscAddSptEntrieshscParsedDeclshscDeclsWithLocationhscParseDeclsWithLocationhscDecls hscParsedStmthscStmtWithLocationhscStmthscCompileCmmFilehscInteractivehscGenHardCodehscSimpleIface' hscSimplify' hscSimplify hscGetSafe hscCheckSafehscFileFrontEndbatchMsg oneShotMsghscMaybeWriteIfacehscIncrementalCompilegenericHscFrontendmakeSimpleDetails hscDesugar' hscDesugar tcRnModule'hscTypecheckRename hscParse'hscParsehscRnImportDeclshscGetModuleInterfacehscIsGHCiMonadhscTcRnGetInfohscTcRcLookupNamehscTcRnLookupRdrName ioMsgMaybe getHscEnv newHscEnvMessager TcRnDriverrunTcInteractive TM_Default TM_NoInstTM_Inst TcRnExprMode PprTyThing pprFamInstGhcMonaddefaultWarnErrLoggerprintExceptiongetSessionDynFlags setSession getSessionGhcGhcT WarnErrLoggerHscTypesphaseForeignLanguageextendCompleteMatchMapmkCompleteMatchMapbyteCodeOfObject nameOfObjectisInterpretableisObject linkableObjsisObjectLinkablenumToTrustInfotrustInfoToNumnoIfaceTrustInfo setSafeMode getSafeMode isHpcUsed emptyHpcInfo showModMsg isBootSummary msObjFilePath msHiFilePath msHsFilePath ms_home_impsms_home_srcimpsms_home_allimps home_impsms_imps ms_mod_namems_installed_mod mkModuleGraphextendMGisTemplateHaskellOrQQNonBootemptyMGmgLookupModule mgElemModulemgModSummaries mgBootModulesmapMGneedsTemplateHaskellOrQQsoExt mkHsSONamemkSOName updNameCache addEpsInStatsnoDependencies lookupFixityemptyFixityEnvmkIfaceFixCache plusWarnsemptyIfaceWarnCachemkIfaceWarnCache tyThingIdtyThingConLiketyThingDataContyThingCoAxiom tyThingTyConlookupTypeHscEnv lookupType plusTypeEnvextendTypeEnvWithIdsextendTypeEnvList extendTypeEnv lookupTypeEnvtypeEnvFromEntitiesmkTypeEnvWithImplicits mkTypeEnvtypeEnvClassestypeEnvDataConstypeEnvPatSyns typeEnvIdstypeEnvCoAxioms typeEnvTyCons typeEnvElts emptyTypeEnvtyThingAvailInfotyThingsTyCoVarstyThingParent_maybeisImplicitTyThingimplicitTyConThingsimplicitClassThingsimplicitTyThingspkgQual mkQualPackage mkQualModulemkPrintUnqualifiedsubstInteractiveContexticExtendGblRdrEnvsetInteractivePrintNamesetInteractivePackageextendInteractiveContextWithIdsextendInteractiveContext icPrintUnqual icInScopeTTsicInteractiveModuleemptyInteractiveContext appendStubCimportedByUseremptyModDetailsmkIfaceHashCacheemptyFullModIfaceemptyPartialModIfacerenameFreeHoles mi_free_holesmi_semantic_modulemi_fixmi_bootprepareAnnotations metaRequestAW metaRequestD metaRequestT metaRequestP metaRequestEhptRules hptInstanceshptCompleteSigslookupIfaceByModulelookupHptByModule listToHpt addListToHptaddToHpt delFromHptmapHptallHpt filterHpteltsHptlookupHptDirectly lookupHptpprHPTemptyPackageIfaceTableemptyHomePackageTable pprTargetId pprTargethscEPShandleFlagWarningsprintOrThrowWarningshandleSourceError throwOneError throwErrorsmkApiErrsrcErrorMessagesmkSrcErrrunInteractiveHscmkInteractiveHscEnvrunHschscs_iface_dflagshscs_old_iface_hashhscs_partial_ifacehscs_mod_location hscs_guts HscRecomp HscUpdateSig HscUpdateBoot HscUpToDateHscNotGeneratingCode HscStatusHsc SourceError GhcApiError hsc_dynLinker hsc_iservhsc_type_env_varhsc_FChsc_NChsc_EPShsc_HPThsc_IC hsc_mod_graph hsc_targets hsc_dflagsHscEnviservPendingFreesiservLookupSymbolCache iservProcess iservPipeIServtargetContentstargetAllowObjCodetargetIdTarget TargetFile TargetModuleTargetIdInputFileBufferHomePackageTablePackageIfaceTable hm_linkable hm_detailshm_iface HomeModInfoMetaAWMetaDMetaTMetaPMetaE MetaRequest MetaResultMetaHook FinderCacheInstalledNotFoundInstalledNoPackageInstalledFoundInstalledFindResultfr_suggestions fr_unusablesfr_pkgs_hiddenfr_mods_hiddenfr_pkgfr_pathsNotFound FoundMultiple NoPackageFound FindResultPartialModIfaceModIface mi_hash_fn mi_fix_fn mi_warn_fnmi_orphan_hash mi_exp_hash mi_finsts mi_orphanmi_plugin_hash mi_hpc_hash mi_opt_hash mi_flag_hash mi_mod_hash mi_iface_hashModIfaceBackend mi_final_exts mi_arg_docs mi_decl_docs mi_doc_hdrmi_complete_sigs mi_trust_pkgmi_trustmi_hpcmi_rules mi_fam_instsmi_insts mi_globalsmi_declsmi_annsmi_warns mi_fixities mi_used_th mi_exports mi_usagesmi_deps mi_hsc_src mi_sig_of mi_module ModIface_ IfaceExportmd_complete_sigsmd_annsmd_rules md_fam_instsmd_instsmd_types md_exports ModDetails ImportedModsImportedBySystemImportedByUser ImportedBy imv_qualifiedimv_all_exports imv_is_hiding imv_is_safeimv_spanimv_nameImportedModsVal mg_arg_docs mg_decl_docs mg_doc_hdr mg_trust_pkgmg_safe_haskellmg_fam_inst_env mg_inst_env mg_modBreaks mg_hpc_infomg_complete_sigsmg_annsmg_warnsmg_foreign_files mg_foreignmg_bindsmg_rules mg_patsyns mg_fam_instsmg_instsmg_tcs mg_fix_env mg_rdr_env mg_used_th mg_usagesmg_deps mg_exportsmg_loc mg_hsc_src mg_moduleModGutscg_spt_entries cg_modBreaks cg_hpc_info cg_dep_pkgscg_foreign_files cg_foreigncg_binds cg_tycons cg_moduleCgGuts ForeignStubsNoStubsic_cwd ic_int_printic_monad ic_resume ic_default ic_fix_env ic_instances ic_rn_gbl_env ic_tythings ic_imports ic_mod_index ic_dflagsInteractiveContextIIModuleIIDeclInteractiveImportTypeEnv lookupTyCon lookupDataConlookupId lookupThing MonadThingsWarnSomeWarnAll NoWarningsWarnings FixityEnvFixItemWhetherHasOrphansIsBootInterface dep_plgins dep_finsts dep_orphsdep_pkgsdep_modsDeps Dependencies usg_file_hash usg_file_path usg_exports usg_entities usg_mod_nameusg_safe usg_mod_hashusg_modUsageMergedRequirement UsageFileUsageHomeModuleUsagePackageModuleUsagePackageTypeEnvPackageRuleBasePackageInstEnvPackageFamInstEnvPackageCompleteMatchMap eps_statseps_mod_fam_inst_enveps_complete_matches eps_ann_env eps_rule_baseeps_fam_inst_env eps_inst_enveps_PTEeps_free_holeseps_PIT eps_is_bootEPSExternalPackageState n_insts_out n_insts_in n_rules_out n_rules_in n_decls_out n_decls_in n_ifaces_inEpsStats ModuleGraph ms_hspp_buf ms_hspp_opts ms_hspp_file ms_parsed_modms_textual_imps ms_srcimps ms_hie_date ms_iface_date ms_obj_date ms_hs_date ms_location ms_hsc_srcms_mod ModSummarySourceUnmodifiedAndStableSourceUnmodifiedSourceModifiedhpcUsed hpcInfoHashhpcInfoTickCount NoHpcInfoHpcInfo AnyHpcUsage IsSafeImportIfaceTrustInfohpm_annotations hpm_src_files hpm_moduleHsParsedModulecompleteMatchTyConcompleteMatchConLikes CompleteMatchCompleteMatchMapGHC.HshsmodHaddockModHeaderhsmodDeprecMessage hsmodDecls hsmodImports hsmodExports hsmodNameHsModule GHC.Hs.Utils lPatImplicitshsValBindsImplicitslStmtsImplicitshsDataFamInstBindersgetPatSynBindshsPatSynSelectorshsForeignDeclsBindershsLTyClDeclBindershsTyClForeignBindershsGroupBinderscollectPatsBinderscollectPatBinderscollectStmtBinderscollectLStmtBinderscollectStmtsBinderscollectLStmtsBinderscollectMethodBinderscollectHsBindListBinderscollectHsBindsBinderscollectHsBindBinderscollectHsValBinderscollectHsIdBinderscollectLocalBindersisBangedHsBindisUnliftedHsBindmkMatchmkPrefixFunRhsmkSimpleGeneratedFunBindisInfixFunBind mkPatSynBind mkVarBind mkHsVarBind mkTopFunBind mkFunBind mkHsDictLet mkHsWrapPatCo mkHsWrapPat mkLHsCmdWrap mkHsCmdWrap mkLHsWrapCo mkHsWrapCoR mkHsWrapComkHsWrap mkLHsWrap typeToLHsType mkClassOpSigs mkHsSigEnvmkLHsSigWcType mkLHsSigTypechunkify mkChunkifiedmkBigLHsPatTupmkBigLHsVarPatTup mkBigLHsTupmkBigLHsVarTup missingTupArg nlTuplePat mkLHsVarTuplemkLHsTupleExpr nlHsAppKindTy nlHsTyConApp nlHsParTy nlHsFunTy nlHsTyVar nlHsAppTynlListnlHsCasenlHsIfnlHsParnlHsLam nlHsOpAppnlHsDo nlWildPatName nlWildPat nlWildConPatnlNullaryConPat nlConPatNamenlConPat nlInfixConPatnlConVarPatName nlConVarPat nlHsVarAppsnlHsAppsnlHsSyntaxAppsnlHsAppnlLitPatnlVarPat nlHsIntLitnlHsLit nlHsDataConnlHsVarmkHsStringPrimLit mkHsStringunqualQuasiQuotemkHsQuasiQuote mkTypedSplicemkUntypedSplice mkHsOpApp mkRecStmtemptyRecStmtIdemptyRecStmtName emptyRecStmt unitRecStmtTc mkTcBindStmt mkBindStmt mkBodyStmt mkLastStmtmkGroupByUsingStmtmkGroupUsingStmtmkTransformByStmtmkTransformStmtemptyTransStmt mkNPlusKPatmkNPat mkHsCmdIfmkHsIfmkHsCompmkHsDo mkHsIsStringmkHsFractional mkHsIntegralnlParPatmkParPatmkLHsPar nlHsTyApps nlHsTyApp mkHsCaseAltmkHsLamsmkHsLam mkHsAppTypes mkHsAppTypemkHsApp mkMatchGroup unguardedRHSunguardedGRHSs mkSimpleMatchmkHsPar GHC.Hs.Expr pprStmtInCtxtpprMatchInCtxtmatchContextErrStringpprStmtContextpprAStmtContextpprMatchContextNounpprMatchContextmatchSeparatorisMonadCompContextisMonadFailStmtContextisComprehensionContext isPatSynCtxt pp_dotdot thTyBrackets thBrackets pprHsBracketisTypedBracket ppr_splice ppr_quasippr_splice_declpprPendingSplice isTypedSplicepprQualspprComp ppr_do_stmtspprDopprBy pprTransStmtpprTransformStmtpprArgpprStmtpp_rhspprGRHSpprGRHSspprMatch pprMatches hsLMatchPatsmatchGroupArityisSingletonMatchGroupisEmptyMatchGroup isInfixMatch pprCmdArgppr_cmdppr_lcmd isQuietHsCmdpprCmdpprLCmdisAtomicHsExprparenthesizeHsExprhsExprNeedsParens pprParendExprpprParendLExprpprDebugParendExprpprExternalSrcLocppr_appsppr_infix_exprppr_expr ppr_lexprpprBinds isQuietHsExpr tupArgPresent unboundVarOccmkRnSyntaxExpr mkSyntaxExpr noSyntaxExprnoExpr PostTcExpr PostTcTable syn_res_wrap syn_arg_wrapssyn_expr SyntaxExprCmdSyntaxTable TrueExprHole OutOfScope UnboundVar rupd_flds rupd_exprrupd_ext rcon_flds rcon_con_namercon_extXExprHsWrap HsTickPragma HsBinTickHsTickHsStaticHsProc HsSpliceEHsTcBracketOutHsRnBracketOut HsBracket HsCoreAnnHsSCCArithSeq ExprWithTySig RecordUpd RecordCon ExplicitListHsDoHsLet HsMultiIfHsIfHsCase ExplicitSum ExplicitTupleSectionRSectionLHsParNegAppOpApp HsAppTypeHsApp HsLamCaseHsLamHsLit HsOverLitHsIPVar HsOverLabelHsRecFld HsConLikeOut HsUnboundVarHsVar rcon_con_expr rcon_con_like RecordConTc rupd_wrap rupd_out_tys rupd_in_tys rupd_cons RecordUpdTc LHsTupArgXTupArgMissingPresentHsTupArgLHsCmdXCmd HsCmdWrapHsCmdDoHsCmdLetHsCmdIf HsCmdCaseHsCmdParHsCmdLamHsCmdApp HsCmdArrForm HsCmdArrAppHsFirstOrderAppHsHigherOrderApp HsArrAppType LHsCmdTopXCmdTopHsCmdTopCmdTopTc HsRecordBinds mg_originmg_altsmg_ext XMatchGroupMG mg_res_ty mg_arg_tys MatchGroupTcLMatchm_grhssm_patsm_ctxtm_extXMatchMatchgrhssLocalBinds grhssGRHSsgrhssExtXGRHSsGRHSsLGRHSXGRHSGRHSLStmtLStmtLRStmtCmdLStmtCmdStmt ExprLStmtExprStmt GuardLStmt GuardStmt GhciLStmtGhciStmt recS_mfix_fn recS_ret_fn recS_bind_fn recS_rec_idsrecS_later_ids recS_stmtsrecS_exttrS_fmaptrS_bindtrS_rettrS_by trS_using trS_bndrs trS_stmtstrS_formtrS_extXStmtLRRecStmt TransStmtParStmtLetStmtBodyStmtApplicativeStmtBindStmtLastStmtStmtLR recS_ret_ty recS_rec_retsrecS_later_rets recS_bind_ty RecStmtTc GroupFormThenForm TransForm XParStmtBlock ParStmtBlock bv_pattern final_expr app_stmtsxarg_app_arg_many fail_operator is_body_stmtarg_exprapp_arg_patternxarg_app_arg_oneXApplicativeArgApplicativeArgManyApplicativeArgOneApplicativeArgXSplice HsSplicedT HsSpliced HsQuasiQuoteHsUntypedSplice HsTypedSpliceNoParens HasDollar HasParensSpliceDecorationThModFinalizers DelayedSplice HsSplicedPat HsSplicedTy HsSplicedExprHsSplicedThingSplicePointNamePendingRnSpliceUntypedDeclSpliceUntypedTypeSpliceUntypedPatSpliceUntypedExpSpliceUntypedSpliceFlavourPendingTcSpliceXBracketTExpBrVarBrTypBrDecBrGDecBrLPatBrExpBr FromThenToFromToFromThenFrom ArithSeqInfo mc_strictness mc_fixitymc_funPatSyn ThPatQuote ThPatSpliceStmtCtxtRecUpd PatBindGuards PatBindRhsProcExprIfAltCaseAlt LambdaExprFunRhsHsMatchContext TransStmtCtxt ParStmtCtxtPatGuard GhciStmtCtxt ArrowExprMDoExprDoExpr MonadCompListComp HsStmtContext GHC.Hs.DeclsroleAnnotDeclNameannProvenanceName_maybe docDeclDocpprFullRuleNamecollectRuleBndrSigTysflattenRuleDeclsmapDerivStrategyfoldDerivStrategyderivStrategyNameinstDeclDataFamInstspprHsFamInstLHSpprDataFamInstFlavourpprTyFamInstDeclhsConDeclThetahsConDeclArgTys getConArgs getConNamesnewOrDataToFlavourstandaloneKindSigNameresultVariableNamefamResultKindSignaturefamilyDeclNamefamilyDeclLNametyClGroupKindSigstyClGroupRoleDeclstyClGroupInstDeclstyClGroupTyClDeclspprTyClDeclFlavour hsDeclHasCuskcountTyClDeclstyClDeclTyVarstcdName tyClDeclLNametyFamInstDeclLNametyFamInstDeclNameisDataFamilyDeclisClosedTypeFamilyInfoisOpenTypeFamilyInfoisTypeFamilyDecl isFamilyDecl isClassDecl isSynDecl isDataDecl appendGroupshsGroupInstDecls emptyRnGroup emptyRdrGroupLHsDeclXHsDecl RoleAnnotDDocDSpliceDRuleDAnnDWarningDForDDefDKindSigDSigDValDDerivDInstDTyClDHsDeclhs_docs hs_ruledshs_annds hs_warndshs_fordshs_defdshs_fixds hs_derivds hs_tyclds hs_splcdshs_valdshs_extXHsGroupHsGroup LSpliceDecl XSpliceDecl SpliceDecl LTyClDecltcdDocs tcdATDefstcdATstcdMethstcdSigstcdFDstcdCtxttcdCExt tcdDataDefntcdDExttcdRhs tcdFixity tcdTyVarstcdLNametcdSExttcdFamtcdFExt XTyClDecl ClassDeclDataDeclSynDeclFamDeclTyClDecl LHsFunDeptcdFVs tcdDataCusk DataDeclRn group_instds group_kisigs group_roles group_tyclds group_ext XTyClGroup TyClGroupLFamilyResultSigXFamilyResultSigTyVarSigKindSigNoSigFamilyResultSig LFamilyDeclfdInjectivityAnn fdResultSigfdFixityfdTyVarsfdLNamefdInfofdExt XFamilyDecl FamilyDeclLInjectivityAnnInjectivityAnnClosedTypeFamilyOpenTypeFamily DataFamily FamilyInfo dd_derivsdd_cons dd_kindSigdd_cTypedd_ctxtdd_NDdd_ext XHsDataDefn HsDataDefn HsDerivingLHsDerivingClausederiv_clause_tysderiv_clause_strategyderiv_clause_extXHsDerivingClauseHsDerivingClauseLStandaloneKindSigXStandaloneKindSigStandaloneKindSigDataTypeNewType NewOrDataLConDecl con_ex_tvscon_namecon_extcon_doc con_res_tycon_args con_mb_cxt con_qvars con_forall con_names con_g_extXConDecl ConDeclH98 ConDeclGADTConDeclHsConDeclDetails LTyFamInstEqnHsTyPats TyFamInstEqnTyFamDefltDeclLTyFamDefltDeclLTyFamInstDecltfid_eqn TyFamInstDeclLDataFamInstDecldfid_eqnDataFamInstDecl LFamInstEqn FamInstEqnfeqn_rhs feqn_fixity feqn_pats feqn_bndrs feqn_tyconfeqn_extXFamEqnFamEqn LClsInstDeclcid_overlap_modecid_datafam_instscid_tyfam_instscid_sigs cid_binds cid_poly_tycid_ext XClsInstDecl ClsInstDecl LInstDecl tfid_insttfid_ext dfid_instdfid_extcid_inst cid_d_ext XInstDecl TyFamInstD DataFamInstDClsInstDInstDecl LDerivDeclderiv_overlap_modederiv_strategy deriv_type deriv_ext XDerivDecl DerivDeclLDerivStrategy ViaStrategyNewtypeStrategyAnyclassStrategy StockStrategy DerivStrategy LDefaultDecl XDefaultDecl DefaultDecl LForeignDeclfd_fefd_e_extfd_fi fd_sig_tyfd_namefd_i_ext XForeignDecl ForeignExport ForeignImport ForeignDeclCImportCWrapper CFunctionCLabel CImportSpecCExport LRuleDecls rds_rulesrds_srcrds_ext XRuleDeclsHsRules RuleDecls LRuleDeclrd_rhsrd_lhsrd_tmvsrd_tyvsrd_actrd_namerd_ext XRuleDeclHsRuleRuleDeclHsRuleRn LRuleBndr XRuleBndr RuleBndrSigRuleBndrLDocDeclDocGroupDocCommentNamedDocCommentPrevDocCommentNextDocDecl LWarnDecls wd_warningswd_srcwd_ext XWarnDecls WarnDecls LWarnDecl XWarnDeclWarnDeclLAnnDeclXAnnDecl HsAnnotationAnnDeclModuleAnnProvenanceTypeAnnProvenanceValueAnnProvenance AnnProvenanceLRoleAnnotDeclXRoleAnnotDecl RoleAnnotDecl GHC.Hs.PatcollectEvVarsPatcollectEvVarsPatsparenthesizePatpatNeedsParensisIrrefutableHsPatlooksLazyPatBind isBangedLPat mkCharLitPatmkNilPatmkPrefixConPat pprConArgs pprParendLPathsRecUpdFieldOcchsRecUpdFieldIdhsRecUpdFieldRdr hsRecFieldId hsRecFieldSelhsRecFieldsArgs hsRecFields hsConPatArgsInPatOutPatpat_wrappat_args pat_binds pat_dictspat_tvs pat_arg_tyspat_conXPatCoPatSigPat NPlusKPatNPatLitPat SplicePatViewPat ConPatOutConPatInSumPatTuplePatListPatBangPatParPatAsPatLazyPatVarPatWildPat ListPatTcHsConPatDetails rec_dotdotrec_flds HsRecFields LHsRecField' LHsRecFieldLHsRecUpdField HsRecField HsRecUpdFieldhsRecPun hsRecFieldArg hsRecFieldLbl HsRecField' GHC.Hs.Binds pprMinimalSigpprTcSpecPragspprSpec pprVarSigpragSrcBrackets pragBracketsppr_sighsSigDocisCompleteMatchSig isSCCFunSig isMinimalLSig isInlineLSig isPragLSigisSpecInstLSig isSpecLSig isTypeLSig isFixityLSigisDefaultMethod hasSpecPrags noSpecPragsisEmptyIPBindsTcisEmptyIPBindsPRpprTicks ppr_monobindplusHsValBindsisEmptyLHsBinds emptyLHsBindsemptyValBindsOutemptyValBindsInisEmptyValBindseqEmptyLocalBindsisEmptyLocalBindsPRisEmptyLocalBindsTcemptyLocalBinds pprDeclListpprLHsBindsForUser pprLHsBinds HsLocalBinds LHsLocalBindsXHsLocalBindsLREmptyLocalBinds HsIPBinds HsValBindsHsLocalBindsLRLHsLocalBindsLR XValBindsLRValBinds HsValBindsLR NValBinds NHsValBindsLRLHsBindLHsBindsHsBind LHsBindsLR LHsBindLRabs_sig abs_binds abs_ev_binds abs_exports abs_ev_varsabs_tvsabs_ext var_inlinevar_rhsvar_idvar_ext pat_tickspat_rhspat_lhspat_extfun_tick fun_co_fn fun_matchesfun_idfun_ext XHsBindsLR PatSynBindAbsBindsVarBindPatBindFunBindHsBindLR pat_rhs_typat_fvs NPatBindTc abe_pragsabe_wrapabe_monoabe_polyabe_ext XABExportABEABExportpsb_dirpsb_defpsb_argspsb_idpsb_ext XPatSynBindPSB XHsIPBindsIPBindsLIPBindXIPBindIPBindLSigXSigCompleteMatchSig SCCFunSig MinimalSig SpecInstSigSpecSig InlineSigFixSigIdSig ClassOpSig PatSynSigTypeSigSig LFixitySig XFixitySig FixitySig SpecPragsIsDefaultMethod TcSpecPrags LTcSpecPragSpecPrag TcSpecPragHsPatSynDetailsrecordPatSynPatVarrecordPatSynSelectorIdRecordPatSynFieldExplicitBidirectionalImplicitBidirectionalUnidirectional HsPatSynDirInstEnvinstanceBindFun lookupInstEnvlookupUniqueInstEnvidenticalClsInstHeaddeleteDFunFromInstEnvdeleteFromInstEnv extendInstEnvextendInstEnvList memberInstEnvclassInstances instIsVisibleinstEnvClasses instEnvElts emptyInstEnvmkImportedInstancemkLocalInstance instanceSigorphNamesOfClsInst instanceHead pprInstancespprInstanceHdr pprInstanceinstanceRoughTcsupdateClsInstDFuninstanceDFunId isIncoherent isOverlappingisOverlappablefuzzyClsInstCmp is_orphanis_flagis_dfunis_tysis_clsis_tvs is_dfun_nameis_tcs is_cls_nmClsInst ie_visibleie_local ie_globalInstEnvsVisibleOrphanModules DFunInstType InstMatchClsInstLookupResult FamInstEnvFamInst LinkerTypeslinkableUnlinkedlinkableModule linkableTimeLMLinkableBCOsDotDLLDotADotOUnlinkedSptEntry ByteCodeTypesemptyModBreaksCompiledByteCode BreakIndexmodBreaks_breakInfo modBreaks_ccsmodBreaks_declsmodBreaks_varsmodBreaks_locsmodBreaks_flags ModBreaks GHC.Hs.TypesparenthesizeHsContextparenthesizeHsTypehsTypeNeedsParens pprHsTypepprConDeclFields pprLHsContextpprHsExplicitForAllpprHsForAllExtra pprHsForAllpprAnonWildCardambiguousFieldOccunambiguousFieldOccselectorAmbiguousFieldOccrdrNameAmbiguousFieldOccmkAmbiguousFieldOcc mkFieldOccgetLHsInstDeclClass_maybegetLHsInstDeclHeadsplitLHsInstDeclTysplitLHsQualTysplitLHsForAllTyInvissplitLHsSigmaTyInvissplitLHsPatSynTynumVisibleArgshsTyGetAppHead_maybesplitHsFunType mkHsAppKindTy mkHsAppTys mkHsAppTymkHsOpTymkAnonWildCardTy isLHsForAllTy ignoreParens hsTyKindSighsLTyVarBndrsToTypeshsLTyVarBndrToTypehsLTyVarLocNameshsLTyVarLocNamehsAllLTyVarNameshsExplicitLTyVarNames hsLTyVarNames hsLTyVarName hsTyVarName hsScopedTvs hsWcScopedTvshsConDetailsArgshsTvbAllKindedisHsKindedTyVar hsIPNameFSmkEmptyWildCardBndrsmkEmptyImplicitBndrsmkHsWildCardBndrsmkHsImplicitBndrs dropWildCards hsSigWcType hsSigTypehsImplicitBodyisEmptyLHsQTvs emptyLHsQTvs hsQTvExplicitmkHsQTvs noLHsContextgetBangStrictness getBangType LBangTypeBangType LHsContext HsContextLHsTypeHsKindLHsKind LHsTyVarBndr hsq_explicithsq_ext XLHsQTyVarsHsQTvs LHsQTyVars hsib_bodyhsib_extXHsImplicitBndrsHsIBHsImplicitBndrs hswc_bodyhswc_extXHsWildCardBndrsHsWCHsWildCardBndrs LHsSigType LHsWcType LHsSigWcTypeHsIPName XTyVarBndr KindedTyVar UserTyVar HsTyVarBndrhst_ctxt hst_xqualhst_body hst_bndrshst_fvf hst_xforallXHsType HsWildCardTyHsTyLitHsExplicitTupleTyHsExplicitListTyHsRecTyHsBangTyHsDocTy HsSpliceTy HsKindSigHsStarTy HsIParamTyHsParTyHsOpTyHsSumTy HsTupleTyHsListTyHsFunTy HsAppKindTyHsAppTyHsTyVarHsQualTy HsForAllTyHsType NHsCoreTy NewHsTypeXHsStrTyHsNumTyHsBoxedOrConstraintTupleHsConstraintTuple HsBoxedTupleHsUnboxedTuple HsTupleSort LConDeclField cd_fld_doc cd_fld_type cd_fld_names cd_fld_ext XConDeclField ConDeclFieldInfixConRecCon PrefixCon HsConDetailsHsArgPar HsTypeArgHsValArgHsArg LHsTypeArg LFieldOccrdrNameFieldOcc extFieldOcc XFieldOccFieldOccXAmbiguousFieldOcc Ambiguous UnambiguousAmbiguousFieldOccInteractiveEvalTypesexecWrapexecLineNumberexecSourceFileexecSingleStep ExecOptionsRunAndLogSteps SingleStepRunToCompletion breakInfo breakNamesexecAllocation execResult ExecBreak ExecComplete ExecResultbreakInfo_numberbreakInfo_module BreakInforesumeHistoryIx resumeHistory resumeCCS resumeDecl resumeSpanresumeBreakInfo resumeApStackresumeFinalIdsresumeBindings resumeContext resumeStmtResumehistoryEnclosingDeclshistoryBreakInfoHistory TysWiredInpromotedNilDataConpromotedConsDataConpromotedGTDataConpromotedEQDataConpromotedLTDataConpromotedJustDataConpromotedNothingDataConpromotedFalseDataConpromotedTrueDataConmkSumTy mkTupleTy1 mkTupleTy justDataConnothingDataCon maybeTyCon consDataCon nilDataConmkListTyordGTDataConIdordEQDataConIdordLTDataConId ordGTDataCon ordEQDataCon ordLTDataCon orderingTyCon trueDataConIdfalseDataConId trueDataCon falseDataCon boolTyConboolTy doubleDataCon doubleTyCondoubleTy floatDataCon floatTyConfloatTy word8DataCon word8TyConword8Ty wordDataCon wordTyConwordTy intDataConintTyConintTystringTy charDataCon charTyConcharTyboxingDataCon_maybe liftedRepTyliftedRepDataConsumRepDataConTyConliftedTypeKindTyConcoercibleDataConcoercibleClass heqDataConheqClass eqDataConeqClasseqTyConunboxedSumKind sumDataConsumTyConunboxedUnitDataConunboxedUnitTyCon pairTyCon unitDataConId unitDataCon unitTyConKey unitTyContupleDataConName tupleDataConpromotedTupleDataCon tupleTyConcTupleDataConNamescTupleDataConNamecTupleTyConNameArity_maybeisCTupleTyConNamecTupleTyConNamescTupleTyConName mkTupleStrisBuiltInOcc_maybetypeToTypeKindconstraintKindTyContypeSymbolKindContypeNatKindConconsDataCon_RDR listTyCon_RDRintDataCon_RDR charTyCon_RDR intTyCon_RDRtrue_RDR false_RDR boolTyCon_RDRliftedTypeKindTyConNameconstraintKindTyConNamemakeRecoveryTyConanyTyanyTyCondoubleTyConNamefloatTyConNameword8TyConName wordTyConNamejustDataConNamenothingDataConNamemaybeTyConNameconsDataConNamenilDataConName listTyConName boolTyConName intTyConName charTyConNamecoercibleTyConName heqTyConName eqTyCon_RDR eqTyConNamemkWiredInIdNamemkWiredInTyConName wiredInTyConsIdisNeverLevPolyIdtransferPolyIdInfozapStableUnfoldingzapIdTailCallInfozapIdUsedOnceInfozapIdUsageEnvInfozapIdUsageInfozapIdDemandInfozapFragileIdInfo zapLamIdInfoupdOneShotInfosetIdOneShotInfoclearOneShotLambdasetOneShotLambdaisProbablyOneShotLambdaisStateHackType typeOneShotstateHackOneShot isOneShotBndridStateHackOneShotInfo idOneShotInfo isConLikeIdidRuleMatchInfosetInlineActivationidInlineActivationmodifyInlinePragmasetInlinePragmaidInlinePragma zapIdOccInfo setIdOccInfo idOccInfo setIdCafInfo idCafInfosetIdSpecialisation idHasRules idCoreRulesidSpecialisationsetCaseBndrEvaldsetIdDemandInfo idDemandInfosetIdUnfoldingrealIdUnfolding idUnfolding isStrictIdzapIdStrictnesssetIdStrictness idStrictness isBottomingId idFunRepAritysetIdCallArity idCallArity setIdArityidArityasJoinId_maybe zapJoinIdasJoinId idJoinArity isDeadBinderidIsFrom isImplicitId hasNoBinding idDataConisJoinId_maybeisJoinIdisDataConId_maybeisDataConWrapId_maybeisDataConWrapIdisDataConWorkId_maybeisDataConWorkIdisFCallId_maybe isFCallIdisPrimOpId_maybeisDFunId isPrimOpIdisClassOpId_maybeisNaughtyRecordSelectorisPatSynRecordSelectorisDataConRecordSelectorisRecordSelectorrecordSelectorTyConmkTemplateLocalsNummkTemplateLocalsmkTemplateLocal mkWorkerIdmkUserLocalOrCoVar mkUserLocalmkSysLocalOrCoVarM mkSysLocalMmkSysLocalOrCoVar mkSysLocalmkExportedVanillaIdmkExportedLocalIdmkLocalIdWithInfomkLocalIdOrCoVarWithInfomkLocalIdOrCoVar mkLocalCoVar mkLocalIdmkVanillaGlobalWithInfomkVanillaGlobal mkGlobalIdmaybeModifyIdInfo modifyIdInfo setIdInfo localiseId setIdType setIdUnique setIdNameidTypeidUniqueidNameCoreSyncollectNAnnBndrscollectAnnBndrs deAnnBinddeAnnAlt deAnnotate' deAnnotatecollectAnnArgsTickscollectAnnArgs valArgCount valBndrCount isTypeArgisCoArg 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 tickishCountsCoercionTypeTickCastCaseLetLamAppLitVarExprArgAltDEFAULTLitAltDataAltAltConRecNonRecBindInBndrInTypeInKindInBindInExprInAltInArg InCoercionOutBndrOutTypeOutKind OutCoercionOutBindOutExprOutAltOutArg MOutCoercion sourceName sourceSpan breakpointFVs breakpointIdtickId tickModule profNoteScope profNoteCount profNoteCC SourceNote BreakpointHpcTickProfNoteTickishCostCentreScope SoftScopeNoScopeTickishScopingPlaceCostCentre PlaceNonLam PlaceRuntimeTickishPlacement NotOrphanIsOrphanRuleBasere_visible_orphsre_baseRuleEnvru_tryru_nargsru_local ru_orphan ru_originru_autoru_rhsru_argsru_bndrsru_roughru_fnru_actru_name BuiltinRuleRuleCoreRuleRuleFun InScopeEnvIdUnfoldingFun uf_guidance uf_expandableuf_is_work_free uf_is_conlike uf_is_value uf_is_topuf_srcuf_tmpldf_argsdf_condf_bndrs CoreUnfolding DFunUnfoldingOtherCon BootUnfolding NoUnfolding UnfoldingInlineCompulsory InlineStable InlineRhsUnfoldingSourceug_resug_sizeug_args ug_boring_ok ug_unsat_okug_arityUnfNever UnfIfGoodArgsUnfWhenUnfoldingGuidance CoreProgramCoreBndrCoreExprCoreArgCoreBindCoreAltTB TaggedBndr TaggedBind TaggedExpr TaggedArg TaggedAltAnnAlt AnnNonRecAnnBindConLikeconLikeIsInfixconLikesWithFieldsconLikeFieldTypeconLikeFullSig conLikeResTyconLikeImplBangsconLikeWrapId_maybeconLikeStupidThetaconLikeExTyCoVarsconLikeInstOrigArgTysconLikeFieldLabels conLikeArityDataCon buildSynTyCon buildAlgTyConsplitDataProductType_maybepromoteDataCondataConUserTyVarsArePermuteddataConCannotMatch classDataConspecialPromotedDcisVanillaDataConisUnboxedTupleConisTupleDataCondataConIdentitydataConRepArgTysdataConOrigArgTysdataConInstArgTysdataConUserTypedataConOrigResTydataConInstSig dataConSig dataConBoxerdataConImplBangsdataConRepStrictnessisNullaryRepDataConisNullarySrcDataCondataConRepAritydataConSrcBangsdataConFieldType_maybedataConFieldTypedataConImplicitTyThings dataConWrapIddataConWrapId_maybe dataConWorkId dataConTheta dataConEqSpecdataConUnivAndExTyCoVarsdataConUnivTyVarsdataConIsInfixdataConRepTypedataConOrigTyCon dataConTagZ dataConTag mkDataConisMarkedStrict isSrcUnpacked isSrcStrictisBangedeqHsBang filterEqSpec substEqSpec eqSpecPreds eqSpecPair eqSpecType eqSpecTyVarmkEqSpec dcr_bangs dcr_stricts dcr_arg_tys dcr_boxer dcr_wrap_idDCR NoDataConRep HsSrcBangHsUnpackHsStrictHsLazy HsImplBang NoSrcStrict SrcStrictSrcLazy SrcStrictness NoSrcUnpack SrcNoUnpack SrcUnpackSrcUnpackednessNotMarkedStrict MarkedStrictStrictnessMark Predicate isEqPrimPredisEqPred isClassPred isEvVarTypegetClassPredTys_maybeUnifyinstanceCantMatch roughMatchTcs GHC.Hs.LithsOverLitNeedsParenshsLitNeedsParens pmPprHsLit pp_st_suffix convertLit overLitTypenegateOverLitValXLit HsDoublePrim HsFloatPrimHsRat HsInteger HsWord64Prim HsInt64Prim HsWordPrim HsIntPrimHsInt HsStringPrimHsString HsCharPrimHsChar ol_witnessol_valol_extXOverLitOverLitol_type ol_rebindable OverLitTc HsIsString HsFractional HsIntegral OverLitValLiteral pprLiteralabsentLiteralOf literalType litIsLifted litFitsInChar litIsDupable litIsTrivial rubbishLit nullAddrLitdouble2FloatLitfloat2DoubleLit int2DoubleLit double2IntLit int2FloatLit float2IntLit int2CharLit char2IntLitnarrow32WordLitnarrow16WordLitnarrow8WordLitnarrow32IntLitnarrow16IntLit narrow8IntLit narrowLit int2WordLit word2IntLit isLitValue mapLitValueisLitValue_maybelitValue isZeroLit inCharRange inWordRange inIntRange mkLitNatural mkLitInteger mkLitString mkLitChar mkLitDouble mkLitFloatmkLitWord64Wrap mkLitWord64mkLitInt64Wrap mkLitInt64mkLitWordWrapC mkLitWordWrap mkLitWord mkLitIntWrapC mkLitIntWrapmkLitInt mkLitNumberlitNumCheckRangemkLitNumberWraplitNumIsSignedLitLabel LitDoubleLitFloat LitRubbish LitNullAddr LitString LitNumberLitChar LitNumWord64 LitNumWord LitNumInt64 LitNumInt LitNumNatural LitNumInteger LitNumTypetyConAppNeedsKindSigclassifiesTypeWithValues isKindLevPolyisConstraintKindCon setJoinResTymodifyJoinResTysplitVisVarsOfTypessplitVisVarsOfTypesynTyConResKind tyConsOfTypeoccCheckExpandresultIsLevPoly isTypeLevPolytcReturnsConstraintKindtcIsRuntimeTypeKindtcIsLiftedTypeKindtcIsConstraintKind tcTypeKind nonDetCmpTcnonDetCmpTypesXnonDetCmpTypeXnonDetCmpTypes nonDetCmpType eqVarBndrseqTypeseqTypeXseqTypesseqTypeisValidJoinPointTypeisPrimitiveType isStrictTypeisDataFamilyAppType isAlgTypeisUnboxedSumTypeisUnboxedTupleType getRuntimeRepgetRuntimeRep_maybedropRuntimeRepArgsisRuntimeRepKindedTymightBeUnliftedTypeisUnliftedTypeisLiftedType_maybe isCoVarType isFamFreeTy coAxNthLHSmkFamilyTyConAppcloseOverKindsDSetcloseOverKindsListcloseOverKindsFVcloseOverKindsbinderRelevantType_maybe tyBinderTypetyCoBinderTypetyCoBinderVar_maybeisAnonTyCoBinder mkAnonBinderisTauTy appTyArgFlags tyConArgFlagspartitionInvisiblesfilterOutInferredTypesfilterOutInvisibleTypessplitPiTysInvisibleNsplitPiTysInvisibleinvisibleTyBndrCountsplitForAllVarBndrs splitPiTys splitPiTysplitPiTy_maybesplitForAllTy_co_maybesplitForAllTy_ty_maybesplitForAllTy_maybe dropForAlls splitForAllTyisFunTyisPiTy isForAllTy_co isForAllTy_ty isForAllTysplitForAllTysSameVissplitForAllTysmkTyConBindersPreferAnon mkLamTypes mkLamTypemkVisForAllTysmkSpecForAllTysmkSpecForAllTymkInvForAllTysmkTyCoInvForAllTys mkInvForAllTymkTyCoInvForAllTystripCoercionTyisCoercionTy_maybe mkCoercionTy discardCasttyConBindersTyCoBinderssplitCastTy_maybenewTyConInstRhsnextRolesplitListTyConApp_mayberepSplitTyConApp_maybetcSplitTyConApp_maybe splitTyConApp tyConAppArgN tyConAppArgstyConAppArgs_maybe tyConAppTyContyConAppTyCon_maybetyConAppTyConPicky_maybe mkTyConApp applyTysX piResultTysfunArgTy funResultTy splitFunTyssplitFunTy_maybe splitFunTypprUserTypeErrorTyuserTypeError_maybeisLitTy isStrLitTy mkStrLitTy isNumLitTy mkNumLitTyrepSplitAppTys splitAppTys splitAppTytcRepSplitAppTy_mayberepSplitAppTy_maybesplitAppTy_maybemkAppTysrepGetTyVar_maybegetCastedTyVar_maybegetTyVar_maybe isTyVarTygetTyVar mapCoercionmapTypeisRuntimeRepVarisUnliftedRuntimeRepisUnliftedTypeKindisLiftedRuntimeRep kindRep_maybekindRepexpandTypeSynonyms tcm_tycontcm_tycobindertcm_hole tcm_covar tcm_tyvar TyCoMapper TyCoSubstcloneTyVarBndrscloneTyVarBndr substVarBndrs substVarBndrsubstTyVarBndrssubstTyVarBndrsubstCoUnchecked lookupTyVar substTyVars substTyVarsubstThetaUnchecked substThetasubstTysUncheckedsubstTyssubstTyUncheckedsubstTysubstTyAddInScope substTysWithsubstCoWithUncheckedsubstTyWithUnchecked substTyWithzipCoEnvzipTyEnv mkTvSubstPrs zipTCvSubst zipTvSubst unionTCvSubstextendTCvSubstListextendTvSubstListextendTvSubstAndInScope extendCvSubstextendTvSubstWithCloneextendTvSubstBinderAndInScope extendTvSubstextendTCvSubstWithCloneextendTCvSubstextendTCvInScopeSetextendTCvInScopeListextendTCvInScope zapTCvSubst setTvSubstEnvnotElemTCvSubst isInScopegetTCvSubstRangeFVs getTCvInScope getTvSubstEnv mkTCvSubstisEmptyTCvSubstmkEmptyTCvSubst emptyTCvSubstcomposeTCvSubstcomposeTCvSubstEnvemptyTvSubstEnvTCvSubst TvSubstEnvTyCoPpr pprTypeApp pprForAllpprThetaArrowTy pprParendTypeTyCoTidytidyKind tidyOpenKind tidyTopType tidyOpenType tidyOpenTypestidyType tidyTypestidyTyCoVarOcctidyOpenTyCoVartidyOpenTyCoVarstidyFreeTyCoVarstidyTyCoVarBinderstidyTyCoVarBinder tidyVarBndr tidyVarBndrsTyCoFVstyCoVarsOfTypesWellScopedtyCoVarsOfTypeWellScoped scopedSortnoFreeVarsOfType coVarsOfTypes coVarsOfTypetyCoFVsVarBndrtyCoFVsVarBndrs tyCoFVsBndr tyCoFVsOfTypetyCoVarsOfTypeDSettyCoVarsOfTypestyCoVarsOfTypeTysPrimdoubleX8PrimTyCondoubleX8PrimTyfloatX16PrimTyConfloatX16PrimTydoubleX4PrimTyCondoubleX4PrimTyfloatX8PrimTyCon floatX8PrimTydoubleX2PrimTyCondoubleX2PrimTyfloatX4PrimTyCon floatX4PrimTyword64X8PrimTyConword64X8PrimTyword32X16PrimTyConword32X16PrimTyword16X32PrimTyConword16X32PrimTyword8X64PrimTyConword8X64PrimTyword64X4PrimTyConword64X4PrimTyword32X8PrimTyConword32X8PrimTyword16X16PrimTyConword16X16PrimTyword8X32PrimTyConword8X32PrimTyword64X2PrimTyConword64X2PrimTyword32X4PrimTyConword32X4PrimTyword16X8PrimTyConword16X8PrimTyword8X16PrimTyConword8X16PrimTyint64X8PrimTyCon int64X8PrimTyint32X16PrimTyConint32X16PrimTyint16X32PrimTyConint16X32PrimTyint8X64PrimTyCon int8X64PrimTyint64X4PrimTyCon int64X4PrimTyint32X8PrimTyCon int32X8PrimTyint16X16PrimTyConint16X16PrimTyint8X32PrimTyCon int8X32PrimTyint64X2PrimTyCon int64X2PrimTyint32X4PrimTyCon int32X4PrimTyint16X8PrimTyCon int16X8PrimTyint8X16PrimTyCon int8X16PrimTythreadIdPrimTyConthreadIdPrimTy mkWeakPrimTy weakPrimTyCon bcoPrimTyCon bcoPrimTy compactPrimTycompactPrimTyConmkStableNamePrimTystableNamePrimTyConmkStablePtrPrimTystablePtrPrimTyCon mkTVarPrimTy tVarPrimTyCon mkMVarPrimTy mVarPrimTyConmkMutVarPrimTymutVarPrimTyConmkSmallMutableArrayPrimTymkMutableArrayArrayPrimTymkMutableByteArrayPrimTymkMutableArrayPrimTymkSmallArrayPrimTymkArrayArrayPrimTybyteArrayPrimTy mkArrayPrimTysmallMutableArrayPrimTyConsmallArrayPrimTyConmutableArrayArrayPrimTyConarrayArrayPrimTyConbyteArrayPrimTyConmutableByteArrayPrimTyConmutableArrayPrimTyConarrayPrimTyCon equalityTyConeqPhantPrimTyConeqReprPrimTyCon eqPrimTyConproxyPrimTyCon mkProxyPrimTy voidPrimTyCon voidPrimTyrealWorldStatePrimTy realWorldTyrealWorldTyConstatePrimTyCon mkStatePrimTydoublePrimTyCon doublePrimTyfloatPrimTyCon floatPrimTy addrPrimTyCon addrPrimTyword64PrimTyCon word64PrimTyword32PrimTyCon word32PrimTyword16PrimTyCon word16PrimTyword8PrimTyCon word8PrimTy wordPrimTyCon wordPrimTyint64PrimTyCon int64PrimTyint32PrimTyCon int32PrimTyint16PrimTyCon int16PrimTy int8PrimTyCon int8PrimTy intPrimTyCon intPrimTy charPrimTyCon charPrimTyprimRepToRuntimeReptYPEmkPrimTyConName tYPETyConName tYPETyConfunTyCon funTyConName openBetaTy openAlphaTy openBetaTyVaropenAlphaTyVar runtimeRep2Ty runtimeRep1TyruntimeRep2TyVarruntimeRep1TyVaralphaTyUnliftedRepalphaTysUnliftedRepalphaTyVarUnliftedRepalphaTyVarsUnliftedRepdeltaTygammaTybetaTyalphaTyalphaTys deltaTyVar gammaTyVar betaTyVar alphaTyVar alphaTyVarsmkTemplateAnonTyConBindersmkTemplateKindTyConBindersmkTemplateKiTyVarmkTemplateKiTyVarsmkTemplateTyConBindersmkTemplateTyVarsmkTemplateTyVarsFrommkTemplateKindVarsdoublePrimTyConNamefloatPrimTyConNameaddrPrimTyConNameword64PrimTyConNameword32PrimTyConNameword16PrimTyConNameword8PrimTyConNamewordPrimTyConNameint64PrimTyConNameint32PrimTyConNameint16PrimTyConNameint8PrimTyConNameintPrimTyConNamecharPrimTyConNameexposedPrimTyConsunexposedPrimTyCons primTyConsTyCoRepprovSize coercionSizetypeSizesetCoHoleCoVar coHoleCoVar mkTyConTymkPiTysmkPiTy mkForAllTys mkInvisFunTys mkVisFunTys mkInvisFunTy mkVisFunTy mkTyCoVarTys mkTyCoVarTy mkTyVarTys mkTyVarTy isTyBinder isNamedBinderisVisibleBinderisInvisibleBinder delBinderVartyThingCategorypprTyThingCategorypprShortTyThingACoAxiomATyConAConLikeAnId KindOrTypeft_resft_argft_af CoercionTyCastTyLitTyFunTyForAllTyTyConAppAppTyTyVarTyStrTyLitNumTyLitKnotTiedAnonNamedTyBinderHoleCoSubCoKindCoInstCoLRCoNthCoTransCoSymCoUnivCo AxiomRuleCo AxiomInstCoCoVarCoFunCoForAllCoAppCo TyConAppCoGReflRefl CoercionR CoercionP KindCoercionMCoMRefl MCoercionR PluginProvProofIrrelProv PhantomProvUnsafeCoerceProvch_ref ch_co_var CoercionHole isCoercionTymkAppTymkCastTy piResultTyeqTypecoreViewtcViewisRuntimeRepTyisLiftedTypeKindsplitTyConApp_maybepartitionInvisibleTypesTyCon tyConSkolem checkRecTcsetRecTcMaxBounddefaultRecTcMaxBound initRecTcpprPromotionQuotetcFlavourIsOpen tyConFlavour mkTyConTagMaptyConRuntimeRepInfotyConFamilyCoercion_maybetyConFamInst_maybetyConFamInstSig_maybeisFamInstTyContyConATstyConClass_maybe isClassTyConfamTyConFlav_maybesynTyConRhs_maybesynTyConDefn_maybetyConStupidThetanewTyConDataCon_maybe newTyConConewTyConCo_maybenewTyConEtadRhsnewTyConEtadArity newTyConRhs tyConRolestyConFamilyResVar_maybe algTyConRhstyConFamilySizetyConSingleAlgDataCon_maybetyConSingleDataContyConSingleDataCon_maybetyConDataCons_maybe tyConDataConsisTyConWithSrcDataConsexpandSynTyCon_maybe isTcLevPolysetTcTyConKind isTcTyContyConCType_maybeisImplicitTyConisLiftedTypeKindTyConName isKindTyConisPromotedDataCon_maybeisPromotedDataConisPromotedTupleTyConisUnboxedSumTyConisBoxedTupleTyContyConTuple_maybetyConFlavourAssoc_maybetyConAssoc_maybe isTyConAssocisBuiltInSynFamTyCon_maybetyConInjectivityInfo%isClosedSynFamilyTyConWithAxiom_maybeisOpenTypeFamilyTyConisDataFamilyTyConisTypeFamilyTyConisOpenFamilyTyCon isFamilyTyConisEnumerationTyConisGadtSyntaxTyConmustBeSaturatedisFamFreeTyCon isTauTyConisTypeSynonymTyConisDataSumTyCon_maybeisDataProductTyCon_maybeisProductTyConunwrapNewTyConEtad_maybeunwrapNewTyCon_maybe isNewTyConisGenInjAlgRhsisGenerativeTyConisInjectiveTyCon isDataTyConisVanillaAlgTyCon isAlgTyConisUnliftedTyCon isPrimTyConisAbstractTyConmkPromotedDataCon mkFamilyTyConmkSynonymTyConmkLiftedPrimTyCon mkKindTyCon mkPrimTyConnoTcTyConScopedTyVars mkTcTyCon mkSumTyCon mkTupleTyCon mkClassTyCon mkAlgTyCon mkFunTyConlookupTyConFieldLabeltyConFieldLabelsprimRepIsFloatprimElemRepSizeB primRepSizeBprimRepsCompatibleprimRepCompatible isGcPtrRep isVoidReptyConRepModOccmkPrelTyConRepNametyConRepName_maybe isNoParentvisibleDataConsmkDataTyConRhstyConVisibleTyVarstyConTyVarBinders mkTyConKindisInvisibleTyConBinderisVisibleTyConBinderisNamedTyConBindertyConBndrVisArgFlagtyConBinderArgFlagmkRequiredTyConBindermkNamedTyConBindersmkNamedTyConBindermkAnonTyConBindersmkAnonTyConBinder TyConBinderTyConTyCoBinderAnonTCBNamedTCB TyConBndrVis tcTyConIsPolytcTyConScopedTyVars famTcResVar algTcFields tyConCType tyConTyVars tyConArity tyConKind tyConResKind tyConBinders tyConName tyConUnique nt_lev_polynt_co nt_etad_rhsnt_rhstup_sortdata_conis_enumdata_cons_size data_consNewTyConSumTyCon TupleTyCon DataTyCon AbstractTyCon AlgTyConRhsVecElemVecCount RuntimeRepNoRRIRuntimeRepInfoDataFamInstTyCon ClassTyConUnboxedAlgTyConVanillaAlgTyCon AlgTyConFlav Injective NotInjective InjectivityBuiltInSynFamTyConAbstractClosedSynFamilyTyConClosedSynFamilyTyConOpenSynFamilyTyConDataFamilyTyCon FamTyConFlav TyConRepNameVecRep DoubleRepFloatRepAddrRepWordRep Word64Rep Word32Rep Word16RepWord8RepIntRepInt64RepInt32RepInt16RepInt8Rep UnliftedRep LiftedRepVoidRepPrimRep DoubleElemRep FloatElemRep Word64ElemRep Word32ElemRep Word16ElemRep Word8ElemRep Int64ElemRep Int32ElemRep Int16ElemRep Int8ElemRep PrimElemRepPromotedDataConFlavourBuiltInTypeFlavourTypeSynonymFlavourClosedTypeFamilyFlavourOpenTypeFamilyFlavourDataFamilyFlavourAbstractTypeFlavourNewtypeFlavourDataTypeFlavour SumFlavour TupleFlavour ClassFlavour TyConFlavour RecTcCheckerClass pprFunDep pprFundepspprDefMethInfoisAbstractClassclassExtraBigSig classBigSig classHasFds classTvsFds classSCTheta classATItemsclassATs classOpItems classMethods classSCSelId classSCSelIdsclassAllSelIds classAritymkAbstractClassmkClassclassMinimalDef classTyVarsclassKey className classTyConFunDep ClassOpItem DefMethInfoATI ClassATItemClassMinimalDefCoAxiomPhantomRepresentationalNominalRole conLikeName PatSynCon RealDataCon dataConName dataConTyCondataConExTyCoVarsdataConUserTyVarsdataConUserTyVarBindersdataConSourceAritydataConFieldLabelsdataConInstOrigArgTysdataConStupidThetadataConFullSigisUnboxedSumCon DataConRepEqSpecpprLExprpprExpr pprSplice pprSpliceDecl pprPatBind pprFunBindHsExprHsCmdHsSplice MatchGroupLHsExpr GHC.Hs.ImpExp pprImpExpreplaceLWrappedNamereplaceWrappedNameieLWrappedNamelieWrappedName ieWrappedNameieNamesieNamesimpleImportDeclisImportDeclQualifiedimportDeclQualifiedStyle LImportDecl NotQualified QualifiedPost QualifiedPreImportDeclQualifiedStyle ideclHidingideclAs ideclImplicitideclQualified ideclSafe ideclSource ideclPkgQual ideclNameideclSourceSrcideclExt XImportDecl ImportDeclIEType IEPatternIEName IEWrappedNameLIEWrappedNameLIEXIE IEDocNamedIEDocIEGroupIEModuleContents IEThingWith IEThingAll IEThingAbsIEVarIE IEWildcard NoIEWildcardPatLPatGHC.Hs.ExtensionnoExtCon noExtField NoExtFieldNoExtConGhcPass TypecheckedRenamedParsedPassGhcPsGhcRnGhcTcGhcTcIdXRecIdPLIdPNoGhcTc NoGhcTcPass XHsValBindsXEmptyLocalBindsXXHsLocalBindsLRForallXHsLocalBindsLR XValBinds XXValBindsLRForallXValBindsLRXFunBindXPatBindXVarBind XAbsBinds XXHsBindsLRForallXHsBindsLRXABE XXABExportForallXABExportXPSB XXPatSynBindForallXPatSynBindXIPBinds XXHsIPBindsForallXHsIPBindsXCIPBindXXIPBind ForallXIPBindXTypeSig XPatSynSig XClassOpSigXIdSigXFixSig XInlineSigXSpecSig XSpecInstSig XMinimalSig XSCCFunSigXCompleteMatchSigXXSig ForallXSig XXFixitySigForallXFixitySigXXStandaloneKindSigXTyClDXInstDXDerivDXValDXSigD XKindSigDXDefDXForD XWarningDXAnnDXRuleDXSpliceDXDocD XRoleAnnotDXXHsDecl ForallXHsDecl XCHsGroup XXHsGroupForallXHsGroup XXSpliceDeclForallXSpliceDeclXFamDeclXSynDecl XDataDecl XClassDecl XXTyClDeclForallXTyClDecl XCTyClGroup XXTyClGroupForallXTyClGroupXNoSig XCKindSig XTyVarSigXXFamilyResultSigForallXFamilyResultSig XCFamilyDecl XXFamilyDeclForallXFamilyDecl XCHsDataDefn XXHsDataDefnForallXHsDataDefnXCHsDerivingClauseXXHsDerivingClauseForallXHsDerivingClause XConDeclGADT XConDeclH98 XXConDeclForallXConDeclXCFamEqnXXFamEqn ForallXFamEqn XCClsInstDecl XXClsInstDeclForallXClsInstDecl XClsInstD XDataFamInstD XTyFamInstD XXInstDeclForallXInstDecl XCDerivDecl XXDerivDeclForallXDerivDecl XViaStrategy XCDefaultDecl XXDefaultDeclForallXDefaultDeclXForeignImportXForeignExport XXForeignDeclForallXForeignDecl XCRuleDecls XXRuleDeclsForallXRuleDeclsXHsRule XXRuleDeclForallXRuleDecl XCRuleBndr XRuleBndrSig XXRuleBndrForallXRuleBndr XWarnings XXWarnDeclsForallXWarnDeclsXWarning XXWarnDeclForallXWarnDecl XHsAnnotation XXAnnDeclForallXAnnDeclXCRoleAnnotDeclXXRoleAnnotDeclForallXRoleAnnotDeclXVar XUnboundVar XConLikeOutXRecFld XOverLabelXIPVar XOverLitEXLitEXLamXLamCaseXApp XAppTypeEXOpAppXNegAppXPar XSectionL XSectionRXExplicitTuple XExplicitSumXCaseXIfXMultiIfXLetXDo XExplicitList XRecordCon XRecordUpdXExprWithTySig XArithSeqXSCCXCoreAnn XRnBracketOut XTcBracketOutXSpliceEXProcXStaticXTickXBinTick XTickPragmaXWrapXXExpr ForallXExpr XUnambiguous XAmbiguousXXAmbiguousFieldOccForallXAmbiguousFieldOccXPresentXMissingXXTupArg ForallXTupArg XTypedSpliceXUntypedSplice XQuasiQuoteXSplicedXXSplice ForallXSpliceXExpBrXPatBrXDecBrLXDecBrGXTypBrXVarBrXTExpBr XXBracketForallXBracketXXCmdTop ForallXCmdTopXMG XXMatchGroupForallXMatchGroupXCMatchXXMatch ForallXMatchXCGRHSsXXGRHSs ForallXGRHSsXCGRHSXXGRHS ForallXGRHS XLastStmt XBindStmtXApplicativeStmt XBodyStmtXLetStmtXParStmt XTransStmtXRecStmtXXStmtLR ForallXStmtLR XCmdArrApp XCmdArrFormXCmdAppXCmdLamXCmdParXCmdCaseXCmdIfXCmdLetXCmdDoXCmdWrapXXCmd ForallXCmdXXParStmtBlockForallXParStmtBlockXApplicativeArgOneXApplicativeArgManyXXApplicativeArgForallXApplicativeArgXHsChar XHsCharPrim XHsString XHsStringPrimXHsInt XHsIntPrim XHsWordPrim XHsInt64Prim XHsWord64Prim XHsIntegerXHsRat XHsFloatPrim XHsDoublePrimXXLit ForallXHsLit XXOverLitForallXOverLitXWildPatXVarPatXLazyPatXAsPatXParPatXBangPatXListPat XTuplePatXSumPatXConPatXViewPat XSplicePatXLitPatXNPat XNPlusKPatXSigPatXCoPatXXPat ForallXPatXHsQTvs XXLHsQTyVarsForallXLHsQTyVarsXHsIBXXHsImplicitBndrsForallXHsImplicitBndrsXHsWCXXHsWildCardBndrsForallXHsWildCardBndrs XForAllTyXQualTyXTyVarXAppTy XAppKindTyXFunTyXListTyXTupleTyXSumTyXOpTyXParTy XIParamTyXStarTyXKindSig XSpliceTyXDocTyXBangTyXRecTyXExplicitListTyXExplicitTupleTyXTyLit XWildCardTyXXType ForallXType XUserTyVar XKindedTyVar XXTyVarBndrForallXTyVarBndrXXConDeclFieldForallXConDeclField XCFieldOcc XXFieldOccForallXFieldOcc XCImportDecl XXImportDeclForallXImportDeclXIEVar XIEThingAbs XIEThingAll XIEThingWithXIEModuleContentsXIEGroupXIEDoc XIEDocNamedXXIE ForallXIEconvert Convertable ConvertIdX OutputableXOutputableBndrIdGHC.Hs.PlaceHolderplaceHolderNamesTc NameOrRdrName isExportedIdmustHaveLocalBinding isGlobalId isLocalVar isLocalId isNonCoVarIdisCoVarisId isTyCoVar isTcTyVarisTyVarsetIdNotExported setIdExported globaliseId setIdDetails lazySetIdInfomkExportedLocalVarmkCoVar mkLocalVar mkGlobalVar idDetailsidInfosetTcTyVarDetailstcTyVarDetails mkTcTyVarmkTyVarupdateTyVarKindMupdateTyVarKind setTyVarKind setTyVarNamesetTyVarUnique tyVarKind tyVarName isTyVarBindermkTyVarBindersmkTyCoVarBinders mkTyVarBindermkTyCoVarBinder binderType binderArgFlag binderVars binderVarargToForallVisFlagsameVisisInvisibleArgFlagisVisibleArgFlagupdateVarTypeM updateVarType setVarType setVarName setVarUnique varUnique nonDetCmpVarCoVarNcIdTyVarTKVarTcTyVarTypeVarKindVarEvIdEvVarDFunIdDictIdIpIdEqVarJoinIdTyCoVarInVarInTyVarInCoVarInIdOutVarOutTyVarOutCoVarOutIdvarTypevarNameRequired SpecifiedInferredInvisArgVisArg ForallInvis ForallVis ForallVisFlagBndrVarBndr TyCoVarBinder TyVarBinderLexerToken ApiAnnotation unicodeAnngetAndRemoveAnnotationCommentsgetAnnotationCommentsgetAndRemoveAnnotation getAnnotationApiAnns AnnEofPosAnnRarrowtailU AnnRarrowtailAnnLarrowtailU AnnLarrowtailAnnrarrowtailU AnnrarrowtailAnnlarrowtailU AnnlarrowtailAnnWhereAnnViaAnnVbar AnnValStrAnnValAnnUsingAnnUnitAnnTypeAnnTilde AnnThTyQuoteAnnThIdTySplice AnnThIdSpliceAnnThenAnnStock AnnStatic AnnSignatureAnnSimpleQuoteAnnSemiAnnSafeAnnRoleAnnRec AnnRarrowU AnnRarrow AnnQualifiedAnnProc AnnPatternAnnPackageNameAnnOpenS AnnOpenPTE AnnOpenPEAnnOpenP AnnOpenEQU AnnOpenEQAnnOpenEAnnOpenC AnnOpenBUAnnOpenBAnnOpenAnnOfAnnName AnnNewtype AnnModuleAnnMinusAnnMdoAnnLet AnnLarrowU AnnLarrowAnnLam AnnInstanceAnnInfixAnnIn AnnImportAnnIf AnnHiding AnnHeaderAnnGroupAnnFunId AnnForeign AnnForallU AnnForall AnnFamily AnnExportAnnEqualAnnElse AnnDotdotAnnDotAnnDo AnnDeriving AnnDefault AnnDcolonU AnnDcolonAnnData AnnDarrowU AnnDarrow AnnCommaTupleAnnCommaAnnColon AnnCloseS AnnCloseP AnnCloseQU AnnCloseQ AnnCloseC AnnCloseBU AnnCloseBAnnCloseAnnClassAnnCaseAnnBy AnnBackquoteAnnBangAnnAtAnnAs AnnAnyclass AnnKeywordIdAnnBlockCommentAnnLineComment AnnDocOptions AnnDocSectionAnnDocCommentNamedAnnDocCommentPrevAnnDocCommentNextAnnotationComment PrelNames nilDataConKey listTyConKeyRdrNamestarInfopprNameProvenanceisExplicitItemimportSpecModule importSpecLoc qualSpecOK unQualSpecOK bestImport shadowNamesextendGlobalRdrEnv transformGREsmkGlobalRdrEnvplusGlobalRdrEnvpickGREsModExppickGREsunQualOKgreLabelisOverloadedRecFldGRE isRecFldGRE isLocalGREgetGRE_NameQualifier_maybeslookupGRE_Name_OccNamelookupGRE_FieldLabellookupGRE_NamelookupGRE_RdrName greOccNamelookupGlobalRdrEnvpprGlobalRdrEnvglobalRdrEnvEltsemptyGlobalRdrEnv availFromGREgresToAvailInfogreParent_maybe greSrcSpan greRdrNamesgreQualModName gresFromAvaillocalGREsFromAvailgresFromAvailsdelLocalRdrEnvListinLocalRdrEnvScopelocalRdrEnvEltselemLocalRdrEnvlookupLocalRdrOcclookupLocalRdrEnvextendLocalRdrEnvListextendLocalRdrEnvemptyLocalRdrEnv isExact_maybeisExact isOrig_maybeisOrig isQual_maybeisQualisUnqual isSrcRdrNameisRdrTc isRdrTyVar isRdrDataCon nameRdrName getRdrNamemkQual mkVarUnqualmkUnqualmkOrig mkRdrQual mkRdrUnqual demoteRdrName rdrNameSpace rdrNameOccExactOrigQualUnqual LocalRdrEnv GlobalRdrEnvgre_impgre_lclgre_pargre_nameGRE GlobalRdrEltpar_lblpar_is FldParentParentIsNoParentParentis_itemis_declImpSpec ImportSpecis_dlocis_qualis_asis_mod ImpDeclSpecis_iloc is_explicitImpSomeImpAll ImpItemSpecAvail nubAvails filterAvail filterAvails trimAvail plusAvailavailNamesWithOccsavailsNamesWithOccs availFldsavailNonFldNamesavailNamesWithSelectors availNames availNameavailsToNameEnvavailsToNameSetWithSelectorsavailsToNameSetavailstableAvailCmpAvailTC AvailInfoAvails FieldLabelFieldLabelString flSelectorflIsOverloadedflLabelFieldLbl GHC.Hs.DocemptyArgDocMapemptyDeclDocMap concatDocs appendDocs ppr_mbDochsDocStringToByteString unpackHDSmkHsDocStringUtf8ByteString mkHsDocString HsDocString LHsDocString DeclDocMap ArgDocMapNameSetfindUsesduUsesallUsesduDefsplusDUmkDUsusesOnlyemptyDUs intersectFVsdelFVsdelFVunitFVaddOneFVmkFVsplusFVplusFVsemptyFVs isEmptyFVsnameSetElemsStable nameSetAll nameSetAnyintersectsNameSetdelListFromNameSetintersectNameSet filterNameSetdelFromNameSet elemNameSet minusNameSet unionNameSets unionNameSet extendNameSetextendNameSetList mkNameSet unitNameSet emptyNameSetisEmptyNameSetFreeVarsDefsUsesDefUseDefUses listTyContypeSymbolKind typeNatKindmkBoxedTupleTyheqTyConcoercibleTyConunitTyliftedTypeKindconstraintKind vecElemTyCon vecCountTyConruntimeRepTyCon runtimeRepTytupleRepDataConTyConvecRepDataConTyConliftedRepDataConTyCondoubleRepDataConTyfloatRepDataConTyaddrRepDataConTyword64RepDataConTyword32RepDataConTyword16RepDataConTyword8RepDataConTywordRepDataConTyint64RepDataConTyint32RepDataConTyint16RepDataConTyint8RepDataConTyintRepDataConTyunliftedRepDataConTyliftedRepDataConTyvec64DataConTyvec32DataConTyvec16DataConTy vec8DataConTy vec4DataConTy vec2DataConTydoubleElemRepDataConTyfloatElemRepDataConTyword64ElemRepDataConTyword32ElemRepDataConTyword16ElemRepDataConTyword8ElemRepDataConTyint64ElemRepDataConTyint32ElemRepDataConTyint16ElemRepDataConTyint8ElemRepDataConTy anyTypeOfKindunboxedTupleKindmkPromotedListTytupleTyConNameName 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 nameNameSpace nameOccName nameUnique UserSyntax BuiltInSyntaxgetName getOccName NamedThingmkFunTy mkForAllTyTyThingUnivCoProvenanceTyLit TyCoBinder MCoercionPredTypeKind ThetaType CoercionN MCoercionNArgFlag AnonArgFlagErrUtilstraceCmdisWarnMsgFatalprettyPrintGhcErrors logOutputlogInfoprintOutputForUserprintInfoForUserputMsg debugTraceMsgwithTimingSilentDwithTimingSilent withTimingD withTimingshowPasscompilationProgressMsgfatalErrorMsg'' fatalErrorMsg warningMsgerrorMsgdumpSDocWithStyledumpSDocForUser mkDumpDocdumpIfSet_dyn_printer dumpIfSet_dyn dumpIfSet doIfSet_dyndoIfSetghcExit pprLocErrMsgpprErrMsgBagWithLoc formatErrDocprintBagOfErrorswarningsToMessages errorsFoundisEmptyMessages emptyMessagesmkPlainWarnMsg mkWarnMsg mkLongWarnMsg mkPlainErrMsgmkErrMsg mkLongErrMsgmkErrDocmakeIntoWarning pprMessageBagerrDoc unionMessagesorValid getInvalidsallValidandValidisValidNotValidIsValidValidityMessagesWarningMessages ErrorMessages errMsgReasonerrMsgSeverity errMsgDoc errMsgContext errMsgSpanErrMsgerrDocSupplementary errDocContexterrDocImportantErrDocWarnMsgOccName 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 isTvNameSpaceisTcClsNameSpaceisDataConNameSpacetvName srcDataNamedataName tcClsNameclsNametcName NameSpace occNameFS occNameSpaceoccName HasOccNameOccEnvOccSet TidyOccEnvDynFlagsemptyFilesToClean isBmi2Enabled isBmiEnabledisAvx512pfEnabledisAvx512fEnabledisAvx512erEnabledisAvx512cdEnabled isAvx2Enabled isAvxEnabledisSse4_2Enabled isSse2Enabled isSseEnabledsetUnsafeGlobalDynFlagsmakeDynFlagsConsistenttARGET_MAX_WORDtARGET_MAX_INTtARGET_MIN_INT mAX_PTR_TAGtAG_MASK wordAlignmentwORD_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 setTmpDirsetFlagsFromEnvFilecanonicalizeModuleIfHomecanonicalizeHomeModule setUnitIdunSetGeneralFlag'setGeneralFlag'addWay' dynamicGhc rtsIsProfiledglasgowExtsFlagswarningHierarchies warningGroupsxFlagssupportedLanguagesAndExtensions fLangFlagsfFlags wWarningFlagsflagsForCompletion flagsPackage flagsDynamicflagsAllallNonDeprecatedFlags updateWays putLogMsgparseDynamicFlagsFullparseDynamicFilePragmaparseDynamicFlagsCmdLine updOptLeveladdPluginModuleName thisPackagethisUnitIdInststhisComponentId getVerbFlagsgetOptsunsafeFlagsForInfer unsafeFlagssafeImplicitImpsReqsafeDirectImpsReq safeImportsOn safeInferOnsafeLanguageOnsafeHaskellModeEnabled safeHaskellOnpackageTrustOndynFlagDependencieslang_setxopt_set_unlessExplSpec xopt_unsetxopt_setxoptwopt_unset_fatalwopt_set_fatal wopt_fatal wopt_unsetwopt_setwopt gopt_unsetgopt_setgopt dopt_unsetdopt_setdopthasNoOptCoercionhasNoStateHacklanguageExtensionsdefaultFlushErrdefaultFlushOutdefaultLogActionHPutStrDocdefaultLogActionHPrintDocdefaultLogActiondefaultFatalMessagerinterpreterDynamicinterpreterProfiled interpWays defaultWaysdefaultDynFlags initDynFlagsdynamicOutputFiledynamicTooMkDynamicDynFlagswhenCannotGenerateDynamicTooifGeneratingDynamicToowhenGeneratingDynamicToowayUnsetGeneralFlagswayGeneralFlags wayRTSOnly mkBuildTagpositionIndependentdefaultObjectTargetpackageFlagsChangedisNoLink isOneShottargetRetainsAllBindingsisObjectTargetversionedFilePathversionedAppDirtablesNextToCodeopt_iopt_lcopt_loopt_lcc opt_windresopt_lmopt_lopt_aopt_cxxopt_copt_Fopt_P_signatureopt_Popt_Lpgm_ipgm_lcpgm_lo pgm_ranlibpgm_arpgm_lcc pgm_libtool pgm_windrespgm_Tpgm_dllpgm_lmpgm_lpgm_apgm_cpgm_Fpgm_Ppgm_LsystemPackageConfigextraGccViaCFlagstmpDirtopDir ghciUsagePath ghcUsagePathprojectVersion programNamesettingsbackendMaintainsCfgflattenIncludesaddQuoteIncludeaddGlobalIncludeoptimisationFlagsOpt_D_no_debug_outputOpt_D_ppr_debugOpt_D_dump_jsonOpt_D_dump_debugOpt_D_verbose_core2core!Opt_D_dump_view_pattern_commoningOpt_D_dump_timingsOpt_D_dump_mod_mapOpt_D_dump_mod_cyclesOpt_D_dump_hi_diffs Opt_D_dump_hiOpt_D_verbose_stg2stgOpt_D_source_statsOpt_D_dump_rttiOpt_D_dump_tickedOpt_D_dump_BCOsOpt_D_th_dec_fileOpt_D_dump_splicesOpt_D_dump_vt_traceOpt_D_dump_if_traceOpt_D_dump_ec_traceOpt_D_dump_tc_traceOpt_D_dump_cs_traceOpt_D_dump_simpl_statsOpt_D_dump_opt_cmmOpt_D_dump_rn_statsOpt_D_dump_rn_traceOpt_D_dump_worker_wrapperOpt_D_dump_cseOpt_D_dump_rulesOpt_D_dump_typesOpt_D_dump_tc_ast Opt_D_dump_tcOpt_D_dump_str_signaturesOpt_D_dump_stranalOpt_D_dump_exitifyOpt_D_dump_call_arityOpt_D_dump_stg_finalOpt_D_dump_stg_unarisedOpt_D_dump_stgOpt_D_dump_prepOpt_D_dump_specOpt_D_dump_simpl_iterationsOpt_D_dump_simplOpt_D_dump_rn_ast Opt_D_dump_rnOpt_D_dump_parsed_astOpt_D_dump_parsedOpt_D_dump_occur_analOpt_D_dump_simpl_traceOpt_D_dump_rule_rewritesOpt_D_dump_rule_firingsOpt_D_dump_inliningsOpt_D_dump_foreignOpt_D_dump_ds_preopt Opt_D_dump_dsOpt_D_dump_derivOpt_D_dump_core_statsOpt_D_dump_llvmOpt_D_dump_asm_expandedOpt_D_dump_asm_statsOpt_D_dump_asm_conflictsOpt_D_dump_asm_regalloc_stagesOpt_D_dump_asm_regallocOpt_D_dump_asm_livenessOpt_D_dump_asm_nativeOpt_D_dump_asmOpt_D_dump_cfg_weightsOpt_D_dump_cmm_cpsOpt_D_dump_cmm_infoOpt_D_dump_cmm_splitOpt_D_dump_cmm_procmapOpt_D_dump_cmm_cafOpt_D_dump_cmm_sinkOpt_D_dump_cmm_spOpt_D_dump_cmm_procOpt_D_dump_cmm_switchOpt_D_dump_cmm_cbeOpt_D_dump_cmm_cfgOpt_D_dump_cmm_verboseOpt_D_dump_cmm_verbose_by_procOpt_D_dump_cmm_rawOpt_D_dump_cmm_from_stgOpt_D_dump_cmmOpt_G_NoOptCoercionOpt_G_NoStateHackOpt_PluginTrustworthyOpt_PackageTrustOpt_DistrustAllPackagesOpt_BuildDynamicTooOpt_KeepOFilesOpt_KeepHiFilesOpt_KeepLlvmFilesOpt_KeepRawTokenStreamOpt_KeepTmpFilesOpt_KeepSFilesOpt_KeepHcFilesOpt_KeepHiDiffsOpt_KeepHscppFilesOpt_ImplicitImportQualifiedOpt_AutoLinkPackagesOpt_SuppressTimestampsOpt_SuppressTicksOpt_SuppressStgExtsOpt_SuppressUniquesOpt_SuppressTypeSignaturesOpt_SuppressUnfoldingsOpt_SuppressIdInfoOpt_SuppressTypeApplicationsOpt_SuppressModulePrefixesOpt_SuppressVarKindsOpt_SuppressCoercionsOpt_HexWordLiteralsOpt_ShowLoadedModulesOpt_ShowMatchesOfHoleFitsOpt_ShowProvOfHoleFitsOpt_ShowTypeOfHoleFitsOpt_ShowDocsOfHoleFitsOpt_ShowTypeAppVarsOfHoleFitsOpt_ShowTypeAppOfHoleFitsOpt_UnclutterValidHoleFitsOpt_AbstractRefHoleFitsOpt_SortBySubsumHoleFitsOpt_SortBySizeHoleFitsOpt_SortValidHoleFitsOpt_ShowValidHoleFitsOpt_ShowHoleConstraintsOpt_PprShowTicksOpt_PprCaseAsLetOpt_DiagnosticsShowCaretOpt_DeferDiagnosticsOpt_ErrorSpans Opt_ByteCode Opt_KeepGoing Opt_KeepCAFsOpt_SingleLibFolderOpt_WholeArchiveHsLibsOpt_VersionMacrosOpt_OptimalApplicativeDoOpt_ExternalInterpreter Opt_FlatCacheOpt_HpcOpt_RelativeDynlibPaths Opt_RPathOpt_Ticky_Dyn_Thunk Opt_Ticky_LNEOpt_Ticky_Allocd Opt_TickyOpt_SccProfilingOnOpt_ExternalDynamicRefsOpt_PICExecutableOpt_PIEOpt_PICOpt_DeferOutOfScopeVariablesOpt_DeferTypedHolesOpt_DeferTypeErrorsOpt_HelpfulErrorsOpt_NoItOpt_LocalGhciHistoryOpt_ValidateHieOpt_GhciLeakCheckOpt_GhciHistoryOpt_GhciSandboxOpt_IgnoreDotGhciOpt_BuildingCabalPackageOpt_SharedImplibOpt_EmbedManifestOpt_GenManifestOpt_PrintBindContentsOpt_PrintEvldWithShowOpt_BreakOnErrorOpt_BreakOnExceptionOpt_HaddockOptions Opt_HaddockOpt_PrintBindResultOpt_HideAllPluginPackagesOpt_HideAllPackages Opt_StgStatsOpt_SplitSections Opt_NoHsMainOpt_EagerBlackHolingOpt_ExcessPrecisionOpt_IgnoreHpcChangesOpt_IgnoreOptimChangesOpt_ForceRecompOpt_PpOpt_ProfCountEntriesOpt_AutoSccsOnIndividualCafs Opt_WriteHieOpt_WriteInterfaceOpt_ExposeAllUnfoldingsOpt_OmitInterfacePragmasOpt_IgnoreInterfacePragmasOpt_SimplPreInliningOpt_NumConstantFoldingOpt_CatchBottomsOpt_AlignmentSanitisationOpt_SolveConstantDictsOpt_WorkerWrapper Opt_CprAnalOpt_WeightlessBlocklayoutOpt_CfgBlocklayoutOpt_LoopificationOpt_DmdTxDictSelOpt_DictsStrictOpt_FunToThunkOpt_OmitYieldsOpt_AsmShortcuttingOpt_CmmElimCommonBlocks Opt_CmmSinkOpt_IrrefutableTuplesOpt_LlvmFillUndefWithGarbage Opt_LlvmTBAAOpt_PedanticBottomsOpt_RegsIterative Opt_RegsGraphOpt_EnableThSpliceWarningsOpt_EnableRewriteRulesOpt_DictsCheapOpt_UnboxSmallStrictFieldsOpt_UnboxStrictFieldsOpt_CaseFolding Opt_CaseMergeOpt_DoEtaReductionOpt_IgnoreAssertsOpt_DoLambdaEtaExpansionOpt_SpecConstrKeenOpt_SpecConstrOpt_LiberateCaseOpt_StgLiftLams Opt_StgCSEOpt_CSE Opt_StaticArgumentTransformationOpt_CrossModuleSpecialiseOpt_SpecialiseAggressivelyOpt_SpecialiseOpt_LateSpecialise Opt_FloatInOpt_FullLazinessOpt_KillOneShotOpt_KillAbsenceOpt_LateDmdAnalOpt_StrictnessOpt_Exitification Opt_CallArityOpt_PrintTypecheckerElaborationOpt_PrintPotentialInstancesOpt_PrintExpandedSynonymsOpt_PrintUnicodeSyntaxOpt_PrintAxiomIncompsOpt_PrintEqualityRelationsOpt_PrintExplicitRuntimeRepsOpt_PrintExplicitCoercionsOpt_PrintExplicitKindsOpt_PrintExplicitForallsOpt_HideSourcePathsOpt_ShowWarnGroupsOpt_WarnIsErrorOpt_NoTypeableBinds Opt_FastLlvmOpt_NoLlvmManglerOpt_DoAnnotationLintingOpt_DoAsmLintingOpt_DoCmmLintingOpt_DoStgLintingOpt_DoCoreLintingOpt_D_dump_minimal_importsOpt_D_faststring_statsOpt_DumpToFile ErrReasonReasonNoReason WarnReasonincludePathsGlobalincludePathsQuote IncludeSpecsOpt_WarnDerivingDefaults Opt_WarnCompatUnqualifiedImportsOpt_WarnMissingSafeHaskellModeOpt_WarnInferredSafeImportsOpt_WarnUnusedPackages"Opt_WarnPrepositiveQualifiedModule!Opt_WarnMissingDerivingStrategiesOpt_WarnSpaceAfterBangOpt_WarnImplicitKindVarsOpt_WarnStarBinderOpt_WarnStarIsTypeOpt_WarnInaccessibleCodeOpt_WarnMissingExportListOpt_WarnPartialFieldsOpt_WarnMissingHomeModulesOpt_WarnUnbangedStrictPatternsOpt_WarnCPPUndef$Opt_WarnSimplifiableClassConstraints Opt_WarnUnrecognisedWarningFlags'Opt_WarnMissingPatternSynonymSignatures#Opt_WarnNonCanonicalMonoidInstances&Opt_WarnNonCanonicalMonadFailInstances"Opt_WarnNonCanonicalMonadInstances#Opt_WarnDeferredOutOfScopeVariablesOpt_WarnDeferredTypeErrorsOpt_WarnDerivingTypeable$Opt_WarnUntickedPromotedConstructors!Opt_WarnMissingExportedSignaturesOpt_WarnPartialTypeSignaturesOpt_WarnTypedHolesOpt_WarnInlineRuleShadowingOpt_WarnMissedExtraSharedLibOpt_WarnUnsupportedLlvmVersion%Opt_WarnUnsupportedCallingConventionsOpt_WarnAllMissedSpecsOpt_WarnMissedSpecsOpt_WarnTrustworthySafe Opt_WarnSafeOpt_WarnUnsafe)Opt_WarnAlternativeLayoutRuleTransitionalOpt_WarnWrongDoBindOpt_WarnUnusedDoBindOpt_WarnDodgyForeignImportsOpt_WarnUnrecognisedPragmas Opt_WarnTabsOpt_WarnIdentitiesOpt_WarnAutoOrphansOpt_WarnOrphansOpt_WarnDodgyImportsOpt_WarnDodgyExportsOpt_WarnSemigroup!Opt_WarnMissingMonadFailInstancesOpt_WarnDeprecatedFlagsOpt_WarnWarningsDeprecations Opt_WarnRedundantRecordWildcardsOpt_WarnUnusedRecordWildcardsOpt_WarnUnusedForallsOpt_WarnUnusedTypePatternsOpt_WarnUnusedMatchesOpt_WarnUnusedImportsOpt_WarnUnusedPatternBindsOpt_WarnUnusedLocalBindsOpt_WarnUnusedTopBindsOpt_WarnMonomorphismOpt_WarnTypeDefaultsOpt_WarnOverlappingPatternsOpt_WarnNameShadowingOpt_WarnMissingLocalSignaturesOpt_WarnMissingSignaturesOpt_WarnMissingMethodsOpt_WarnMissingImportListOpt_WarnMissingFieldsOpt_WarnEmptyEnumerationsOpt_WarnOverflowedLiterals Opt_WarnIncompletePatternsRecUpdOpt_WarnIncompleteUniPatternsOpt_WarnIncompletePatternsOpt_WarnImplicitPreludeOpt_WarnHiShadowsOpt_WarnRedundantConstraintsOpt_WarnDuplicateConstraintsOpt_WarnDuplicateExports WarningFlag Haskell2010 Haskell98Language Sf_IgnoreSf_SafeInferredSf_SafeSf_Trustworthy Sf_UnsafeSf_NoneSafeHaskellMode cfgWeightInfouniqueIncrement initialUnique maxErrors reverseErrorsmaxInlineMemsetInsnsmaxInlineMemcpyInsnsmaxInlineAllocSizertccInfortldInfoavx512pfavx512favx512eravx512cdavx2avx bmiVersion sseVersionnextWrapperNuminteractivePrintprofAuto colScheme canUseColoruseColor ghciScriptshaddockOptionsghcVersionFileflushErrflushOut log_action ghciHistSize maxWorkerArgsufVeryAggressiveufDearOpufKeenessFactorufDictDiscountufFunAppDiscountufUseThresholdufCreationThresholdextensionFlags extensionstrustworthyOnLocwarnUnsafeOnLoc warnSafeOnLoc pkgTrustOnLocincoherentOnLocoverlapInstLoc newDerivOnLocthOnLoc safeInferred safeInfer safeHaskelllanguagefatalWarningFlags warningFlags generalFlags dumpFlagsgeneratedDumpsnextTempSuffix dirsToClean filesToCleanpkgState pkgDatabase packageEnv trustFlagspluginPackageFlags packageFlagsignorePackageFlagspackageDBFlags depSuffixesdepExcludeModsdepIncludeCppDepsdepIncludePkgDeps depMakefilehooks staticPlugins cachedPluginsfrontendPluginOptspluginModNameOptspluginModNameshpcDirrtsOptsSuggestionsrtsOptsEnabledrtsOptscmdlineFrameworksframeworkPaths libraryPaths includePathsldInputsdumpPrefixForce dumpPrefix dynLibLoaderoutputHi dynOutputFile outputFiledynHiSuf dynObjectSufcanGenerateDynamicToohieSufhiSufhcSuf objectSufdumpDirstubDirhieDirhiDirdylibInstallName objectDir splitInfobuildTagwaysthisUnitIdInsts_thisComponentId_thisInstalledUnitIdsolverIterationsreductionDepth mainFunIs mainModIs importPaths historySizecmmProcAlignment liftLamsKnownliftLamsNonRecArgsliftLamsRecArgs floatLamArgsliberateCaseThresholdbinBlobThresholdspecConstrRecursivespecConstrCountspecConstrThresholdsimplTickFactormaxPmCheckModelsmaxUncoveredPatternsrefLevelHoleFitsmaxRefHoleFitsmaxValidHoleFitsmaxRelevantBinds ghcHeapSizeenableTimeStats parMakeCountstrictnessBefore inlineCheck ruleCheckmaxSimplIterations simplPhases debugLeveloptLevel verbosity llvmConfigintegerLibrary rawSettingsplatformConstants platformMisc toolSettings fileSettingsghcNameVersion hscTargetghcLinkghcMode backEdgeBonusinfoTablePenaltyunlikelyCondWeightlikelyCondWeight callWeight switchWeightcondBranchWeight uncondWeight CFGWeights CfgWeights getDynFlags HasDynFlagsextractDynFlagsContainsDynFlags ProfAutoCallsProfAutoExports ProfAutoTop ProfAutoAll NoProfAutoProfAuto lAttributeslCPU lDataLayout LlvmTarget llvmPasses llvmTargets LlvmConfig HscNothingHscInterpretedHscLlvmHscAsmHscC HscTargetMkDependOneShot CompManagerGhcMode LinkStaticLib LinkDynLib LinkInMemory LinkBinaryNoLinkGhcLink UnitIdArg PackageArg modRenamingsmodRenamingWithImplicit ModRenaming IgnorePackageIgnorePackageFlagDistrustPackage TrustPackage TrustFlag HidePackage ExposePackage PackageFlagClearPackageDBsNoGlobalPackageDBNoUserPackageDB PackageDB PackageDBFlagSystemDependent Deployable DynLibLoader RtsOptsAllRtsOptsSafeOnlyRtsOptsIgnoreAll RtsOptsIgnore RtsOptsNoneRtsOptsEnabledWayDyn WayEventLogWayProfWayDebug WayThreaded WayCustomWay FatalMessager LogActionFlushOutFlushErrflagSpecGhcModeflagSpecAction flagSpecFlag flagSpecNameFlagSpec PkgConfFile UserPkgConf GlobalPkgConf PkgConfRef UnknownLDAixLD SolarisLDDarwinLDLlvmLLDGnuGoldGnuLD LinkerInfo UnknownCC AppleClang51 AppleClangClangGCC CompilerInfoftcCurrentModule ftcGhcSession FilesToClean DriverPhases isHsigFile isHsBootOrSighscSourceStringHsigFile HsBootFile HsSrcFile HscSourcePhaseModule 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 pprModuleNamestableModuleNameCmpaddBootSuffixLocnOutaddBootSuffixLocnaddBootSuffix_maybe addBootSuffix ml_hie_file ml_obj_file ml_hi_file ml_hs_file ModLocation extractModuleContainsModule getModule HasModuleDefiniteUnitIdIndefiniteUnitIdindefUnitIdFreeHolesindefUnitIdInstsindefUnitIdComponentIdindefUnitIdKey indefUnitIdFS IndefUnitIdindefModuleNameindefModuleUnitId IndefModuleinstalledUnitIdFSInstalledUnitIdinstalledModuleNameinstalledModuleUnitIdInstalledModule unDefUnitId DefUnitIdInstalledModuleEnv ShHoleSubst ModuleEnv ModuleSet ModuleNameEnvDModuleNameEnv FastStringEnvmkFsEnv lookupFsEnv extendFsEnv emptyFsEnvUniqueinitExitJoinUnique mkTcOccUnique mkTvOccUniquemkDataOccUniquemkVarOccUniquemkCostCentreUniquemkRegClassUniquemkRegPairUniquemkRegSubUniquemkRegSingleUniquemkPseudoUniqueHmkPseudoUniqueEmkPseudoUniqueDmkBuiltinUniqueinitTyVarUniquemkPreludeMiscIdUniquemkPrimOpWrapperUniquemkPrimOpIdUniquedataConTyRepNameUniquedataConWorkerUniquemkPreludeDataConUniquetyConRepNameUniquemkPreludeTyConUniquemkPreludeClassUnique mkCoVarUniquemkAlphaTyVarUniquepprUniqueAlwaysnonDetCmpUniqueltUniqueeqUniquehasKeyisValidKnownKeyUnique unpkUniquemkUnique newTagUnique deriveUniquegetKeymkUniqueGrimily uNIQUE_BITS getUnique Uniquable BasicTypes isKindLevel isTypeLevel mkIntWithInftreatZeroAsInf intGtLimitinfinityintegralFractionalLitnegateFractionalLitmkFractionalLitnegateIntegralLit mkIntegralLit isEarlyActiveisAlwaysActive isNeverActive competesWith isActiveInisActivepprInlineDebug pprInlinesetInlinePragmaRuleMatchInfosetInlinePragmaActivationinlinePragmaRuleMatchInfoinlinePragmaActivationinlinePragmaSatisAnyInlinePragmaisInlinablePragmaisInlinePragmaisDefaultInlinePragmadfunInlinePragmainlinePragmaSpecneverInlinePragmaalwaysInlinePragmadefaultInlinePragmanoUserInlineSpec isFunLike isConLikeactiveDuringFinalactiveAfterInitialpprWithSourceTextfailed 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 bumpVersion isPromotedunSwap isSwappedflipSwap bestOneShot worstOneShothasNoOneShotInfo isOneShotInfo noOneShotInfo alignmentOf mkAlignment fIRST_TAGpickLRCRightCLeft LeftOrRightArityRepArity JoinArityConTagConTagZalignmentBytes Alignment OneShotLam NoOneShotInfo OneShotInfo IsSwapped NotSwappedSwapFlag IsPromoted NotPromoted PromotionFlagIsData IsFunctionFunctionOrDataVersionsl_fssl_st StringLiteral DeprecatedTxt WarningTxtRuleNameFixityInfixNInfixRInfixLFixityDirectionInfixPrefix LexicalFixity NotTopLevelTopLevel TopLevelFlagUnboxedBoxedBoxity NonRecursive RecursiveRecFlag Generated FromSourceOrigin isSafeOverlap overlapMode OverlapFlag IncoherentOverlaps Overlapping Overlappable NoOverlap OverlapModePprPrecConstraintTuple UnboxedTuple BoxedTuple TupleSorttoEPfromEPEPocc_rules_only occ_int_cxt occ_one_br occ_in_lamocc_tailIAmALoopBreakerOneOccIAmDeadManyOccsOccInfoInterestingCxt InsideLam OneBranchNoTailCallInfoAlwaysTailCalled TailCallInfo GenericDM VanillaDM DefMethSpecFailed Succeeded SuccessFlag NoSourceText SourceTextPhaseNum InitialPhase CompilerPhase ActiveAfter ActiveBefore AlwaysActive NeverActive ActivationFunLike RuleMatchInfoinl_ruleinl_actinl_sat inl_inlineinl_src InlinePragma NoUserInlineNoInline InlinableInline InlineSpecil_valueil_negil_textIL IntegralLitfl_valuefl_negfl_textFL FractionalLit IntWithInfImplicitSpliceExplicitSpliceSpliceExplicitFlag KindLevel TypeLevel TypeOrKind mkLocMessagemkLocMessageAnngetCaretDiagnosticdumpSDocSevError SevWarningSevInfoSevDumpSevInteractiveSevFatal SevOutputSeverityMsgDocSrcLoc unRealSrcSpangetRealSrcSpanliftL onHasSrcSpancLdL isSubspanOfspansleftmost_largestleftmost_smallest rightmost cmpLocated eqLocatedaddCLoc combineLocsmkGeneralLocatednoLocgetLocunLocmapLocpprUserRealSpansrcSpanFileName_mayberealSrcSpanEndrealSrcSpanStart srcSpanEnd srcSpanStart srcSpanEndColsrcSpanStartColsrcSpanEndLinesrcSpanStartLine containsSpan isOneLineSpan isGoodSrcSpansrcSpanFirstCharactercombineSrcSpans mkSrcSpan mkRealSrcSpanrealSrcLocSpan srcLocSpanmkGeneralSrcSpaninteractiveSrcSpanwiredInSrcSpan noSrcSpan sortLocated advanceSrcLoc srcLocCol srcLocLine srcLocFilemkGeneralSrcLocinteractiveSrcLocgeneratedSrcLocnoSrcLoc mkRealSrcLocmkSrcLocLL RealSrcLoc UnhelpfulLoc srcSpanFile RealSrcSpan UnhelpfulSpanSrcSpanL GenLocatedLocated RealLocated SrcSpanLessdecomposeSrcSpancomposeSrcSpan HasSrcSpan Outputable alwaysQualifyPrintUnqualified moduleName moduleUnitId unitIdString ModuleNameUnitId ComponentId FastStringfsLitsLitlengthPSunpackPtrString mkPtrString mkPtrString#hPutFSgetFastStringZEncCountergetFastStringTableisUnderscoreFSnilFS uniqueOfFSconsFStailFSheadFSconcatFSappendFS zEncodeFSunpackFSnullFSlengthFSmkFastStringByteList mkFastStringmkFastStringByteStringmkFastStringForeignPtrmkFastStringBytes mkFastString# lengthFZSzStringhPutFZSunsafeMkByteStringfastZStringToByteStringfastStringToByteStringbytesFS FastZStringfs_zencfs_bsn_charsuniq PtrString isTupleTyConisUnboxedTupleTyCon isFunTyConSettingssGhcRtsWithLibdw sGhcDebugged sGhcThreadedsLibFFIsLeadingUnderscoresTablesNextToCode sGhcRTSWays sGhcWithSMPsGhcWithNativeCodeGensGhcWithInterpretersIntegerLibraryTypesIntegerLibrarysTargetPlatformStringsExtraGccViaCFlagssOpt_isOpt_lccsOpt_lcsOpt_lo sOpt_windressOpt_lmsOpt_lsOpt_asOpt_cxxsOpt_csOpt_FsOpt_P_fingerprintsOpt_PsOpt_LsPgm_isPgm_lccsPgm_lcsPgm_lo sPgm_ranlibsPgm_ar sPgm_libtool sPgm_windressPgm_TsPgm_dllsPgm_lmsPgm_lsPgm_asPgm_csPgm_FsPgm_PsPgm_LsGccSupportsNoPie sLdIsGnuLdsLdSupportsFilelistsLdSupportsBuildIdsLdSupportsCompactUnwindsSystemPackageConfigsTmpDirsTopDirsToolDirsGhciUsagePath sGhcUsagePathsProjectVersion sProgramName sRawSettingssPlatformConstants sPlatformMisc sToolSettingssTargetPlatform sFileSettingssGhcNameVersionPlatformConstantspc_ILDV_STATE_USEpc_ILDV_STATE_CREATEpc_ILDV_CREATE_MASK pc_LDV_SHIFTpc_DYNAMIC_BY_DEFAULTpc_WORDS_BIGENDIAN pc_TAG_BITSpc_BITMAP_BITS_SHIFTpc_CLONG_LONG_SIZE pc_CLONG_SIZE pc_CINT_SIZEpc_DOUBLE_SIZE pc_WORD_SIZEpc_AP_STACK_SPLIMpc_RESERVED_STACK_WORDSpc_RESERVED_C_STACK_BYTESpc_MAX_Real_Long_REGpc_MAX_Real_XMM_REGpc_MAX_Real_Double_REGpc_MAX_Real_Float_REGpc_MAX_Real_Vanilla_REGpc_MAX_XMM_REGpc_MAX_Long_REGpc_MAX_Double_REGpc_MAX_Float_REGpc_MAX_Vanilla_REGpc_MUT_ARR_PTRS_CARD_BITSpc_MAX_CHARLIKEpc_MIN_CHARLIKEpc_MAX_INTLIKEpc_MIN_INTLIKEpc_MIN_PAYLOAD_SIZEpc_MAX_SPEC_AP_SIZEpc_MAX_SPEC_SELECTEE_SIZEpc_REP_StgFunInfoExtraRev_arity"pc_OFFSET_StgFunInfoExtraRev_aritypc_SIZEOF_StgFunInfoExtraRevpc_REP_StgFunInfoExtraFwd_arity"pc_OFFSET_StgFunInfoExtraFwd_arity pc_OFFSET_StgUpdateFrame_updateepc_OFFSET_StgStack_stackpc_OFFSET_StgStack_sppc_OFFSET_StgTSO_stackobjpc_OFFSET_StgTSO_cccspc_OFFSET_StgTSO_alloc_limitpc_OFFSET_StgArrBytes_bytespc_SIZEOF_StgArrBytes_NoHdr!pc_OFFSET_StgSmallMutArrPtrs_ptrs"pc_SIZEOF_StgSmallMutArrPtrs_NoHdrpc_OFFSET_StgMutArrPtrs_sizepc_OFFSET_StgMutArrPtrs_ptrspc_SIZEOF_StgMutArrPtrs_NoHdrpc_SIZEOF_StgUpdateFrame_NoHdr#pc_OFFSET_StgEntCounter_entry_countpc_OFFSET_StgEntCounter_link#pc_OFFSET_StgEntCounter_registeredppc_REP_StgEntCounter_allocdpc_OFFSET_StgEntCounter_allocdpc_REP_StgEntCounter_allocspc_OFFSET_StgEntCounter_allocspc_SIZEOF_StgSMPThunkHeaderpc_OFFSET_StgHeader_ldvwpc_OFFSET_StgHeader_ccs pc_REP_CostCentreStack_scc_count#pc_OFFSET_CostCentreStack_scc_count pc_REP_CostCentreStack_mem_alloc#pc_OFFSET_CostCentreStack_mem_allocpc_SIZEOF_CostCentreStackpc_OFFSET_bdescr_flagspc_OFFSET_bdescr_blockspc_OFFSET_bdescr_freepc_OFFSET_bdescr_startpc_OFFSET_Capability_rpc_OFFSET_stgGCFunpc_OFFSET_stgGCEnter1pc_OFFSET_stgEagerBlackholeInfopc_OFFSET_StgRegTable_rHpAlloc%pc_OFFSET_StgRegTable_rCurrentNursery!pc_OFFSET_StgRegTable_rCurrentTSOpc_OFFSET_StgRegTable_rCCCSpc_OFFSET_StgRegTable_rHpLimpc_OFFSET_StgRegTable_rHppc_OFFSET_StgRegTable_rSpLimpc_OFFSET_StgRegTable_rSppc_OFFSET_StgRegTable_rL1pc_OFFSET_StgRegTable_rZMM6pc_OFFSET_StgRegTable_rZMM5pc_OFFSET_StgRegTable_rZMM4pc_OFFSET_StgRegTable_rZMM3pc_OFFSET_StgRegTable_rZMM2pc_OFFSET_StgRegTable_rZMM1pc_OFFSET_StgRegTable_rYMM6pc_OFFSET_StgRegTable_rYMM5pc_OFFSET_StgRegTable_rYMM4pc_OFFSET_StgRegTable_rYMM3pc_OFFSET_StgRegTable_rYMM2pc_OFFSET_StgRegTable_rYMM1pc_OFFSET_StgRegTable_rXMM6pc_OFFSET_StgRegTable_rXMM5pc_OFFSET_StgRegTable_rXMM4pc_OFFSET_StgRegTable_rXMM3pc_OFFSET_StgRegTable_rXMM2pc_OFFSET_StgRegTable_rXMM1pc_OFFSET_StgRegTable_rD6pc_OFFSET_StgRegTable_rD5pc_OFFSET_StgRegTable_rD4pc_OFFSET_StgRegTable_rD3pc_OFFSET_StgRegTable_rD2pc_OFFSET_StgRegTable_rD1pc_OFFSET_StgRegTable_rF6pc_OFFSET_StgRegTable_rF5pc_OFFSET_StgRegTable_rF4pc_OFFSET_StgRegTable_rF3pc_OFFSET_StgRegTable_rF2pc_OFFSET_StgRegTable_rF1pc_OFFSET_StgRegTable_rR10pc_OFFSET_StgRegTable_rR9pc_OFFSET_StgRegTable_rR8pc_OFFSET_StgRegTable_rR7pc_OFFSET_StgRegTable_rR6pc_OFFSET_StgRegTable_rR5pc_OFFSET_StgRegTable_rR4pc_OFFSET_StgRegTable_rR3pc_OFFSET_StgRegTable_rR2pc_OFFSET_StgRegTable_rR1pc_TICKY_BIN_COUNTpc_BLOCKS_PER_MBLOCK pc_BLOCK_SIZEpc_PROF_HDR_SIZEpc_STD_HDR_SIZEpc_CONTROL_GROUP_CONST_291PanicwithSignalHandlersshowGhcExceptionPprProgramError ProgramErrorInstallationErrorPprSorrySorryPprPanic CmdLineError UsageErrorSignal GhcException CliOptionshowOptOption FileOptiontargetPlatform pprUserLengthpprColsunsafeGlobalDynFlags useUnicodeuseUnicodeSyntax useStarIsTypeshouldUseColorshouldUseHexWordLiterals hasPprDebughasNoDebugOutputDumpFlag GeneralFlag Exceptiongfinallygbracketgcatch FileSettings fileSettings_systemPackageConfigfileSettings_tmpDirfileSettings_topDirfileSettings_toolDirfileSettings_ghciUsagePathfileSettings_ghcUsagePathGhcNameVersionghcNameVersion_projectVersionghcNameVersion_programName ghci-8.10.2GHCi.RemoteTypes ForeignHValueHValueghc-boot-8.10.2 GHC.PlatformIntegerLibrary IntegerGMP IntegerSimple PlatformMisc!platformMisc_targetPlatformStringplatformMisc_integerLibraryplatformMisc_integerLibraryTypeplatformMisc_ghcWithInterpreter!platformMisc_ghcWithNativeCodeGenplatformMisc_ghcWithSMPplatformMisc_ghcRTSWaysplatformMisc_tablesNextToCodeplatformMisc_leadingUnderscoreplatformMisc_libFFIplatformMisc_ghcThreadedplatformMisc_ghcDebuggedplatformMisc_ghcRtsWithLibdwplatformMisc_llvmTargetghc-boot-th-8.10.2GHC.ForeignSrcLang.TypeForeignSrcLang RawObjectLangAsm LangObjcxxLangObjcLangCLangCxxscriptmapThd3mapSndM mapMWithLog powersetUpToflattenexpand2expand3allCombinations liquid-fixpoint-0.8.10.2-inplaceLanguage.Fixpoint.Types.Names dummyNameisDummy tidySymbol#Language.Fixpoint.Types.PrettyPrintpprintshowppLanguage.Fixpoint.Types.SpansdummyLoc LocSymbolLocTextPPrint pprintPrec pprintTidyLocloclocEvalsimplifyliquidHaskellMaintyConRealAritydataConExTyVarstm_mod_summary tm_gbl_env GhcMonadLike HasHscEnv askHscEnvlookupModSummary moduleInfoTc$fHasHscEnvGhcT$fHasHscEnvHsc$fHasHscEnvIOEnv$fHasHscEnvIOEnv0$fHasHscEnvGhc$fHasHscEnvCoreM$fGhcMonadLikeGhcT$fGhcMonadLikeHsc$fGhcMonadLikeIOEnv$fGhcMonadLikeIOEnv0$fGhcMonadLikeGhc$fGhcMonadLikeCoreM&$fIsTypecheckedModuleTypecheckedModule'$fIsTypecheckedModuleTypecheckedModule0 MGIModGutsMI mgi_binds mgi_modulemgi_deps mgi_dir_imps mgi_rdr_envmgi_tcs mgi_fam_insts mgi_exports mgi_cls_inst StableName MkStableName unStableName mkStableNameavailsToStableNameSet miModGutsnameSetToStableNameSet mg_dir_impsmgi_namestring$fEqStableName$fHashableStableName$fShowStableName$fGenericStableName Genericallygeqfrom'to'$fEqGenerically$fBinaryGenerically$fHashableGenerically$fGenericGenerically lenLocSymbol anyTypeSymbolfunctionComposisionSymbolVariance Invariant Bivariant Contravariant Covariant VarianceInfo$fPPrintVariance$fNFDataVariance$fBinaryVariance $fEqVariance$fDataVariance$fShowVariance$fGenericVariance$fHashableVariance HasConfig getConfigConfigloggingVerbosityfilesidirs diffchecklinear stringTheory higherorder higherorderqs smtTimeout fullcheck saveQuerychecksnoCheckUnknown notermination rankNTypes noclasschecknostructuraltermgradualbscopegdepth ginteractive totalHaskell nowarnings noannotations checkDerivedcaseExpandDepth notruetypes nototality pruneUnsortedcores minPartSize maxPartSize maxParams smtsolver shortNames shortErrorscabalDir ghcOptionscFiles eliminateportexactDCnoADT scrapeImportsscrapeInternalsscrapeUsedImports elimStats elimBoundjsoncounterExamples timeBindsnoPatternInline untidyCorenoSimplifyCorenoslicenoLiftedImportproofLogicEvaloldPLEproofLogicEvalLocalextensionality nopolyinfer reflection compileSpecnoCheckImports typedHoles maxMatchDepth maxAppDepth maxArgsDepthmaxRWOrderingConstraintsrwTerminationCheckallowPLEallowGlobalPLE allowLocalPLE patternFlaghigherOrderFlag exactDCFlag pruneFlag maxCaseExpandhasOpt totalityCheckterminationCheckstructuralTerm$fHasConfigConfig$fGenericConfig $fDataConfig $fShowConfig $fEqConfigGSpanGMapGSubGConfiggtargetdepthpIdpNumber defConfigsetPId makeGConfigtoGMapfromGMapfromGSub removeInfouniquify $fUniqueExpr $fUniqueReft$fUniqueSortedReft $fUniqueInt$fUniqueIBindEnv $fUniqueSimpC$fUniqueHashMapmakeGMapGradual concretize$fGSubableReft$fGSubableSortedReft$fGSubableHashMap$fGSubableSimpC$fGSubableSizedEnv$fGradualGInfoversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameNat.&&..||.up timedAction!? safeFromJust safeFromLefttakeLastgetNthfst4snd4thrd3 mapFourth4addFst3addThd3dropFst3dropThd3replaceNfourth4third4firstMsecondMfirst3Msecond3Mthird3Mthird3zip4 isIncludeFile getIncludeDir getCssPathgetCoreToLogicPathzipMaybesafeZipWithErrorsafeZip3WithErrormapNsmapN zipWithDefM zipWithDefsinglemapFst3mapSnd3 firstMaybesfromFirstMaybeshashMapMapWithKeyhashMapMapKeys concatMapM replaceSubset replaceWith firstElems splitters bchopAltschopAltssortDiff<-> angleBracketsmkGraph tryIgnorecondNull firstJust intToString mapAccumMifM nubHashOn nubHashLast nubHashLastM uniqueByKey uniqueByKey'join fstByRanksortOn firstGroupkeyDiff concatUnzip sayReadFile lastModified WithModelNoModel UserErrorTError ErrSubTypeErrSubTypeModel ErrFCrashErrHole ErrHoleCycle ErrAssTypeErrParse ErrTySpec ErrTermSpec ErrDupAlias ErrDupSpecs ErrDupIMeas ErrDupMeas ErrDupField ErrDupNames ErrBadData ErrBadGADT ErrDataConErrInvtErrIAl ErrIAlMisErrMeasErrHMeas ErrUnbound ErrUnbPredErrGhc ErrResolve ErrMismatch ErrPartPred ErrAliasCycleErrIllegalAliasApp ErrAliasApp ErrTermin ErrStTermErrILaw ErrRClass ErrMClass ErrBadQualErrSaved ErrFilePragmaErrTyCon ErrLiftExp ErrParseAnn ErrNoSpecErrFail ErrFailUsed ErrRewriteErrOtherposmsgctxtacttexpctxMtactMsvarthl holesCycleoblcondpErrkndvartypexpmsg'kindlocstycondconfieldnamesinvtAstUsmshslqTydifflqPosectrargNexpNactNacyclednamedposbindcnameinameclsinstsqnamenamtcnamesrcFbspFclientsObligOTermOInvOConsCtxErrorctErrctCtxerrorsWithContext errDupSpecs dropModeluErrorpanicDocpanictodo impossibleppErrorunpackRealSrcSpan realSrcSpan srcSpanFileMbppTicks sourceErrors$fFromJSONKeySrcSpan$fToJSONKeySrcSpan$fFromJSONSrcSpan$fToJSONSrcSpan$fFromJSONRealSrcSpan$fToJSONRealSrcSpan$fPPrintSrcSpan$fNFDataParseError$fPPrintParseError $fPPrintOblig $fNFDataOblig $fShowOblig $fBinaryOblig$fNFDataWithModel$fFromJSONTError$fToJSONTError $fOrdTError $fEqTError$fExceptionTError $fShowTError$fPPrintTError $fOrdCtxError $fEqCtxError$fFunctorCtxError$fGenericTError$fFunctorTError$fFunctorWithModel$fShowWithModel $fEqWithModel$fGenericWithModel $fEqOblig$fGenericOblig $fDataOblig$fHashableOblig fromPJDoc putWarnMsg putErrMsg putErrMsg' mkLongErrAt isAnonBindermkAlive srcSpanTick tickSrcSpan stringTyVar stringVar stringTyConstringTyConWithKindhasBaseTypeVar isBaseTypeisTmpVar isTmpSymbol validTyVartvIdtidyCBsunTick unTickExprisFractionalClass notracePprtracePprpprShow toFixSDocsDocDocpprDocshowPprshowSDoc myQualify showSDocDumptypeUniqueStringfSrcSpan fSourcePosfSrcSpanSrcSpansrcSpanFSrcSpansourcePos2SrcSpansourcePosSrcSpansourcePosSrcLocsrcSpanSourcePossrcSpanSourcePosEsrcSpanFilenamesrcSpanStartLoc srcSpanEndLoconeLinelineColrealSrcSpanSourcePosrealSrcSpanSourcePosE getSourcePos getSourcePosE locNamedThingnamedLocSymbol varLocInfo namedPaniccollectArgumentscollectValBinders'ignoreLetBinds isTupleId idDataConM isDataConIdgetDataConVarUniqueisDictionaryExpression realTcArity kindTCArity kindArity uniqueHash lookupRdrName ignoreInlinesymbolTyConWithKind symbolTyCon symbolTyVarlocalVarSymbolexportedVarSymbolqualifiedNameSymbolfastStringTexttyConTyVarsDefnoTyVarssplitModuleNamedropModuleNamesAndUniquedropModuleNamesdropModuleNamesCorrecttakeModuleNamesdropModuleUnique cmpSymbol sepModNames sepUnique mungeNames qualifySymbolisQualifiedSym isQualified wrapParens isParened isDictionaryisMethod isInternalisWorker stripParensstripParensSym gHC_VERSIONsymbolFastStringlintCoreBindingstcRnLookupRdrNameshowCBsignoreCoreBinds findVarDefcoreBindSymbols simplesymbolbinders expandVarType isPredExpr isPredVar isPredTypeanyFdefaultDataConsisEvVar $fNFDataVar $fNFDataType $fNFDataTyCon $fNFDataClass $fShowTyCon $fShowClass $fShowVar $fShowName$fFixpointType$fFixpointName $fFixpointVar$fHashableDataCon$fHashableTyCon $fHashableVar $fSymbolicVar$fSymbolicName$fSymbolicClass$fSymbolicTyCon$fSymbolicFastString$fLocVar$fHashableSrcSpan$fOutputableHashSet $fHashableLoc$fEqLoc$fOrdLoc $fShowLocStatusSafeUnsafeErrorCrashAnnMapAnntypeserrorsstatussptypeshscolourhsannottokeniseWithLoc srcModuleNamebreakS $fShowAnnMap $fShowLit$fShowAnnotation $fEqStatus $fOrdStatus $fShowStatus CoreVisitorenvFbindFexprF CBVisitablefreeVarsreadVarsletVarsliterals coreVisitor$fCBVisitableAltCon$fCBVisitable(,,)$fCBVisitableExpr$fCBVisitableBind$fCBVisitable[]MSpecctorMapmeasMapcmeasMapimeasKVProfKVKindRecBindE NonRecBindE TypeInstE PredInstELamECaseELetEImplictEProjectEOutputOo_varso_typeso_templso_botso_resultAnnotAnnUseAnnDefAnnRDfAnnLocAnnInfoAIHoleInfohtypehlochenvinfoRClassrcNamercSupersrcTyVars rcMethodsCMeasureCMcNamecSort MeasureKind MsReflect MsMeasureMsLiftedMsClass MsAbsMeasure MsSelector MsChecker UnSortedExpr UnSortedExprsMeasureMmsNamemsSortmsEqnsmsKind msUnSortedDefmeasurectordsortbindsbodyBodyEPRRTEnvRTE typeAliases exprAliasesModType SrcImport SpecImportModNameCinfoCici_locci_errci_var ErrorResult DiagnosticsWarningAREnvREnvreGlobalreLocal UReftableofUReftRTypeRepty_varsty_preds ty_ebinds ty_ereftsty_eargsty_bindsty_reftsty_argsty_resRTAliasRTArtNamertTArgsrtVArgsrtBody HasDataDeclNoDeclHasDecl DataDeclKindDataUser DataReflectedSizeFun IdSizeFun SymSizeFunDataCtordcNamedcTyVarsdcThetadcFieldsdcResultDataNameDnNameDnContycName tycTyVarstycPVarstycDCons tycSrcPostycSFun tycPropTytycKindHAxiomAxiomanamernameabindsatypesalhsarhs MethodTypeMT tyInstancetyClassRDEnvDEnvRISig RIAssumedRILawsRILrilName rilSupers rilTyArgsrilEqusrilPos RInstanceRIriclassrityperisigsOkRT TyConableisFunisListisTupleppTyconisClassisEqualisNumCls isFracClsSubsTysubt SpecRTAlias BareRTAlias BareRTEnv SpecRTEnv LocSpecType LocBareType SpecRTVarBRPropRRPropSpecPropSpecRepSpecTypeBareTypePrTypeRReftRPVarBPVarRSortBSortRRTypeBRTypeUReftMkUReftur_reftur_predHSegHBindHVarhs_addrhs_valWorldRTPropRefRProprf_argsrf_bodyRTVInfo RTVNoInfo rtv_is_polrtv_namertv_kind rtv_is_valRTVar ty_var_value ty_var_infoRTypeRVarRFunRImpFRAllTRAllPRAppRAllERExRExprArgRAppTyRRTyRHolert_varrt_reftrt_bindrt_inrt_out rt_tvbindrt_tyrt_ref rt_pvbindrt_tyconrt_argsrt_pargs rt_allargrt_exargrt_argrt_resrt_envrt_oblPVURTVU TyConInfovarianceTyArgsvariancePsArgs sizeFunctionRTyConrtc_tcrtc_infoBTyConbtc_tc btc_classbtc_promRTyVarRTVBTyVarBTVPrUsedPVarPVKindPVPropPVHPropPVarPVpnameptypepargpargs TargetVarsAllVarsOnlyDataConPdcpLocdcpCon dcpFreeTyVars dcpFreePred dcpTyConstrs dcpTyArgsdcpTyRes dcpIsGadt dcpModuledcpLocETyConPtcpLoctcpContcpFreeTyVarsTy tcpFreePredTy tcpVarianceTs tcpVariancePs tcpSizeFunLMaplmVarlmArgslmExprLogicMap lmSymDefs lmVarSymsPPEnvPPppPsppTyVarppShortppDebugTyConMaptcmTyRTytcmFIRTy tcmFtcArityBScopeppEnv ppEnvShort toLogicMap eAppWithMappvTypepvars rtyVarTypetyVarVarmkBTyConisBoolisRVar isClassBTyCon rTyConPVs rTyConPropVsisPropPVisEqType isClassTypedefaultTyConInfo ignoreOblig dropImplicits makeRTVar mapTyVarValue dropTyVarInfo setRtvPol rTVarToBindrPropP getMethodTypeszFunhasDecldataNameSymbol mapRTAVars lmapEAlias fromRTypeRep toRTypeRepmkArrow bkArrowDeepbkArrow safeBkArrowmkUnivs bkUnivClassbkUnivbkClassrImpFrFunrClsrRCls addInvCondpApppappSym mapExprReft isTrivialmapReftemapReft foldRTypeisBase hasHoleTymapReftMmapPropMfoldReft foldReft' efoldReftmapBotmapBindofRSorttoRSort insertsSEnv rTypeValueVar rTypeReftstripRTypeBase topRTypeBase mkWarning mkDiagnosticsemptyDiagnosticsnoErrors allWarnings allErrors printWarningisTarget isSrcImport isSpecImport getModName getModStringqualifyModName emptyKVProf updKVProfholeisHolehasHole liquidBegin liquidEnd $fShowDataCon$fPPrintTyThing $fOrdDataCon $fOrdTyCon$fPPrintDataCon$fSymbolicDataCon$fSubableWithModel$fSymbolicModuleName$fShowModuleName$fHashableModuleName$fNFDataTError $fShowLMap$fSemigroupLogicMap$fMonoidLogicMap$fNFDataPVKind$fBinaryPVKind $fPPrintPVar$fHashablePVar $fNFDataPVar $fBinaryPVar $fOrdPVar$fEqPVar $fSubablePVar$fPPrintPredicate$fReftablePredicate$fSubablePredicate$fSemigroupPredicate$fMonoidPredicate$fNFDataPredicate$fBinaryPredicate $fEqPredicate$fPPrintBTyVar$fSymbolicBTyVar$fNFDataBTyVar$fHashableBTyVar$fBinaryBTyVar$fIsStringBTyVar $fOrdBTyVar $fEqBTyVar$fPPrintRTyVar$fSymbolicRTyVar$fNFDataRTyVar $fLocBTyCon $fShowBTyCon$fPPrintBTyCon$fFixpointBTyCon $fOrdBTyCon $fEqBTyCon$fNFDataBTyCon$fSymbolicBTyCon$fBinaryBTyCon$fBinaryRTVInfo$fNFDataRTVInfo $fPPrintRTVar $fNFDataRTVar $fBinaryRTVar $fEqRTVar $fNFDataRef $fBinaryRef $fPPrintRef $fNFDataRType $fBinaryRType $fShowRTVar$fSubableUReft$fExpressionUReft$fReftableUReft $fBinaryUReft $fNFDataUReft $fMonoidUReft$fSemigroupUReft$fSubableRType $fSubableRef$fTyConableBTyCon$fTyConableLocated$fTyConableSymbol$fTyConableTyCon$fPPrintRILaws$fBinaryRILaws $fBinaryRISig $fPPrintRISig$fBinaryRInstance$fPPrintRInstance $fShowAxiom$fPPrintDataName$fSymbolicDataName$fShowDataName $fLocDataName$fBinaryDataName$fHashableDataName $fLocDataCtor$fBinaryDataCtor$fPPrintSizeFun$fBinarySizeFun$fNFDataSizeFun $fShowSizeFun$fShowTyConInfo$fNFDataTyConInfo$fDefaultTyConInfo $fShowRTyCon$fPPrintRTyCon$fFixpointRTyCon $fEqRTyCon$fTyConableRTyCon$fNFDataRTyCon$fSymbolicRTyCon $fLocDataConP $fLocTyConP$fBinaryDataDeclKind$fNFDataDataDeclKind$fSymbolicDataDecl$fShowDataDecl $fLocDataDecl $fOrdDataDecl $fEqDataDecl$fBinaryDataDecl$fPPrintHasDataDecl$fBinaryRTAlias $fUReftable()$fUReftableUReft $fPPrintAREnv$fFunctorAREnv $fNFDataAREnv $fMonoidAREnv$fSemigroupAREnv$fMonoidDiagnostics$fSemigroupDiagnostics $fNFDataCinfo $fLocCinfo $fShowCinfo$fFixpointCinfo$fHashableModType$fSymbolicModName$fPPrintModName$fHashableModName$fSemigroupRTEnv $fMonoidRTEnv $fSubableBody $fPPrintBody $fBinaryBody $fSubableDef $fPPrintDef $fBinaryDef$fBifunctorDef$fBinaryMeasureKind$fSubableMeasure $fShowMeasure$fPPrintMeasure$fBinaryMeasure$fBifunctorMeasure $fLocMeasure$fShowCMeasure$fPPrintCMeasure$fBinaryRClass$fPPrintRClass$fPPrintHoleInfo$fFunctorHoleInfo$fNFDataAnnInfo$fSemigroupAnnInfo$fMonoidAnnInfo $fNFDataAnnot$fSemigroupOutput$fMonoidOutput$fPPrintKVKind$fNFDataKVKind$fHashableKVKind$fNFDataKVProf$fPPrintKVProf $fMonoidMSpec$fSemigroupMSpec $fShowMSpec $fPPrintMSpec$fBifunctorMSpec $fDataMSpec$fGenericMSpec$fFunctorMSpec$fGenericKVProf$fGenericKVKind $fEqKVKind $fOrdKVKind $fShowKVKind $fDataKVKind$fGenericOutput$fFunctorOutput $fDataAnnot$fGenericAnnot$fFunctorAnnot $fDataAnnInfo$fGenericAnnInfo$fFunctorAnnInfo $fEqRClass $fShowRClass$fFunctorRClass $fDataRClass$fGenericRClass$fHashableRClass$fDataCMeasure$fGenericCMeasure$fFunctorCMeasure $fEqMeasure $fDataMeasure$fGenericMeasure$fFunctorMeasure$fHashableMeasure$fEqMeasureKind$fOrdMeasureKind$fShowMeasureKind$fDataMeasureKind$fGenericMeasureKind$fHashableMeasureKind $fShowDef $fDataDef $fGenericDef$fEqDef $fFunctorDef $fHashableDef $fShowBody $fDataBody $fGenericBody$fEqBody$fHashableBody $fEqModName $fOrdModName $fShowModName$fGenericModName $fDataModName $fEqModType $fOrdModType $fShowModType$fGenericModType $fDataModType $fEqCinfo $fOrdCinfo$fGenericCinfo$fEqDiagnostics $fEqWarning $fShowWarning $fEqRTAlias $fDataRTAlias$fGenericRTAlias$fFunctorRTAlias$fHashableRTAlias$fShowHasDataDecl$fDataDataDecl$fGenericDataDecl$fHashableDataDecl$fEqDataDeclKind$fDataDataDeclKind$fGenericDataDeclKind$fShowDataDeclKind$fHashableDataDeclKind$fGenericTyConP $fDataTyConP$fGenericDataConP$fDataDataConP$fGenericRTyCon $fDataRTyCon$fGenericTyConInfo$fDataTyConInfo $fDataSizeFun$fGenericSizeFun$fHashableSizeFun$fDataDataCtor$fGenericDataCtor$fHashableDataCtor $fEqDataName $fOrdDataName$fDataDataName$fGenericDataName$fShowMethodType$fSemigroupDEnv $fMonoidDEnv $fShowDEnv $fFunctorDEnv $fEqRInstance$fGenericRInstance$fFunctorRInstance$fDataRInstance$fShowRInstance$fHashableRInstance $fEqRISig$fGenericRISig$fFunctorRISig $fDataRISig $fShowRISig$fHashableRISig $fEqRILaws $fShowRILaws$fFunctorRILaws $fDataRILaws$fGenericRILaws$fHashableRILaws $fEqUReft$fGenericUReft $fDataUReft$fFunctorUReft$fFoldableUReft$fTraversableUReft$fHashableUReft$fGenericWorld $fDataWorld $fGenericHSeg $fDataHSeg $fEqRType$fGenericRType $fDataRType$fFunctorRType$fHashableRType$fEqRef $fGenericRef $fDataRef $fFunctorRef $fHashableRef$fGenericRTVar $fDataRTVar$fHashableRTVar$fGenericRTVInfo $fDataRTVInfo$fFunctorRTVInfo$fHashableRTVInfo$fGenericBTyCon $fDataBTyCon$fHashableBTyCon$fGenericRTyVar $fDataRTyVar $fShowBTyVar$fGenericBTyVar $fDataBTyVar$fGenericPredicate$fDataPredicate$fHashablePredicate $fGenericPVar $fDataPVar $fShowPVar $fFunctorPVar$fGenericPVKind $fDataPVKind$fFunctorPVKind$fFoldablePVKind$fTraversablePVKind $fShowPVKind$fShowLogicMap $fShowPPEnvpprManyOrderedpprintLongList pprintSymbolrtypeDoc printError reportErrors $fPPrintUReft $fPPrintTidy $fPPrintRTEnv$fPPrintRTAlias $fPPrintRType$fPPrintLogicMap $fPPrintLMap $fShowAnnInfo$fPPrintAnnInfo $fPPrintAnnot$fShowPredicate $fPPrintClass $fPPrintType $fPPrintTyCon $fPPrintName $fPPrintBind $fPPrintExpr $fPPrintVar$fPPrintSourceError$fPPrintErrMsgTagEnvTagKey defaultTag memTagEnv makeTagEnvgetTagshowTy $fEqCoercion$fEqType $fSubstTym$fSubstTyCoAxiomRule$fSubstTyUnivCoProvenance$fSubstTyCoAxiom $fSubstTyRole$fSubstTyCoercion $fSubstTyType $fEqVarBndrSpan SpanStackemptypushsrcSpanshowSpan $fShowSpanPattern PatReturn PatProject PatSelfBindPatSelfRecBindpatE1patXpatE2patMpatDctpatTyApatTyBpatFFpatEpatTypatRetpatXEpatCtorpatBindspatIdxliftlower$fPPrintPatternSubablesubsubTyisRecursivenewTyCon isHoleVardataConImplicitIdssubVar substExprstringClassArg $fSubableType $fSubableBind $fSubableVar $fSubable(,,)$fSubableCoercion $fSubableExpr PositionsPosppospnegpunknownFreeVarstrengthenDataConTypepdVarfindPVaruRTypeuRType' uRTypeGenuPVaruReftuToprVarrTyVar updateRTVar rTVarInfo kindToRType isValKindbTyVar symbolRTyVar bareRTyVar normalizePdsrExrAppgApp pdVarReft tyConBTyConstrengthenRefTypeGen strengthen quantifyRTyquantifyFreeRTy addTyConInfo appRTyConfamInstTyConType famInstArgs isNumeric generalize allTyVars freeTyVars tyClassessubsTyVars_meetsubsTyVars_nomeetsubsTyVar_nomeetsubsTyVar_meetsubsTyVar_meet'subts subvUReft subvPredicateofType bareOfType dataConReftisBaseTy dataConMsRefttoTyperTypeSortedReft rTypeSort applySolutionshiftVVtypeSorttypeUniqueSymbolexpandProductType classBinds makeNumEnv isDecreasing makeDecrType isSizeable makeLexRefa mkTyConInfotyVarsPosition $fShowRef $fShowRType$fPPrintDataCtor$fPPrintDataDecl $fShowUReft $fShowRTyVar $fShowRTAlias$fExpressionVar$fSubsTytvtyRef$fSubsTyBTyVarRTypeRType$fSubsTyBTyVarRTypeBTyCon$fSubsTytvtyUReft$fSubsTytvRTypePredicate$fSubsTyRTyVarRTypeRType$fSubsTyRTyVarRTyVarRType$fSubsTyVarTypeRType$fSubsTyRTyVarRTypeRType0$fSubsTyRTyVarRTypeRType1$fSubsTyRTyVarRTypeRTyCon$fSubsTytvtyPVar$fSubsTytvtyPVKind$fSubsTyRTyVarRTypeSort$fSubsTySymbolRTypeSort$fSubsTyBTyVarRTypeSort$fSubsTytvty(,)$fSubsTytvtyExpr$fSubsTySymbolSymbolRef$fSubsTySymbolSymbolRType$fSubsTytvtyReft$fSubsTytvtySymbol$fSubsTytvty()$fSubsTyBTyVarRTypeRTVar$fSubsTyBTyVarRTypeBTyVar$fSubsTyRTyVarRTypeRTVar$fSubsTyRTyVarRTypeRTyVar$fHashableRTyCon$fHashableRTyVar $fOrdRTyVar $fEqRTyVar$fFixpointClass $fFixpoint[]$fReftableRType$fReftableRType0 $fReftableRef$fReftableRef0$fReftableRef1$fReftableRef2$fReftableRef3$fFreeVarBTyConBTyVar$fFreeVarRTyConRTyVar $fMonoidRef$fSemigroupRef $fMonoidRType$fSemigroupRType$fSemigroupPositions$fMonoidPositionsResultresulterrorToUserError cinfoError tidySpecType panicError $fException[]$fPPrintCtxError$fPPrintCtxError0$fResultFixResult$fResultTError $fResult[]$fResultTError0 makeTyConInfodataConPSpecTypedataConWorkRep dataConTyreplacePredsWithRefs pVartoRConc pvarRType replacePredspredType substParg pappAritypappSort$fShowDataConP$fPPrintDataConP $fShowTyConP$fPPrintTyConP isWiredIndcPrefixwiredSortedSyms dictionaryVardictionaryTyVardictionaryBindcombineProofsNameproofTyConName wiredTyCons wiredDataConsisDerivedInstance meetVarTypes Freshablefreshtruerefresh refreshTy refreshVV refreshArgsrefreshArgsSub refreshHoles$fFreshablemRType$fFreshablemUReft$fFreshablemReft$fFreshablem[]$fFreshablemExpr$fFreshablemSymbolmakeDictionariesmakeDictionary dfromListdmapty fromRISigdmapdinsertdlookupdhasinfoRRBEnvRBEnvRRBoundRBoundBoundbnametyvarsbparamsbargsbbody makeBound$fBifunctorBound $fPPrintBound $fShowBound $fEqBound$fHashableBound $fBinaryBound $fDataBound$fGenericBoundGhcSpecSP_gsSig_gsQual_gsData_gsName_gsVars_gsTerm_gsRefl_gsLaws_gsImps _gsConfig_gsLSpecGhcSrcSrc _giIncDir _giTarget _giTargetMod_giCbs_gsTcs_gsCls _giDerVars _giImpVars _giDefVars _giUseVars _gsExports_gsFiTcs_gsFiDcs _gsPrimTcs _gsQualImps _gsAllImps _gsTyThingsTargetDependenciesgetDependencies StableModuleunStableModule LiftedSpecliftedMeasures liftedImpSigs liftedExpSigs liftedAsmSigs liftedSigsliftedInvariantsliftedIaliases liftedImportsliftedDataDeclsliftedNewtyDecls liftedAliasesliftedEaliases liftedEmbedsliftedQualifiers liftedDecr liftedLvars liftedAutoisliftedAutosizeliftedCmeasuresliftedImeasures liftedClasses liftedClawsliftedRinstance liftedIlawsliftedDvariance liftedBounds liftedDefs liftedAxeqsSpecmeasuresimpSigsexpSigsasmSigssigs localSigsreflSigs invariantsialiasesimports dataDecls newtyDeclsincludesaliasesealiasesembeds qualifiersdecrlvarslazyrewrites rewriteWithfailsreflectsautoishmeashboundsinlinesignoresautosizepragmas cmeasures imeasuresclassesclaws termexprs rinstanceilaws dvarianceboundsdefsaxeqsBareSpec MkBareSpec getBareSpec SpecMeasureBareDef BareMeasureVarOrLocSymbol LawInstancelilNameliSupers lilTyArgslilEquslilPos GhcSpecLawsSpLaws gsLawDefs gsLawInst GhcSpecReflSpRefl gsAutoInst gsHAxioms gsImpAxioms gsMyAxioms gsReflects gsLogicMap gsWiredReft gsRewritesgsRewritesWith GhcSpecTermSpTermgsStTerm gsAutosizegsLazygsFailgsDecr gsNonStTerm GhcSpecNamesSpNames gsFreeSymsgsDconsPgsTconsP gsTcEmbedsgsADTs gsTyconEnv GhcSpecDataSpDatagsCtorsgsMeas gsInvariants gsIaliases gsMeasures gsUnsorted GhcSpecSigSpSiggsTySigs gsAsmSigs gsRefSigsgsInSigs gsNewTypesgsDicts gsMethodsgsTexprs GhcSpecQualSpQual gsQualifiers gsRTAliases GhcSpecVarsSpVar gsTgtVars gsIgnoreVarsgsLvars gsCMethods TargetSpecgsSiggsQualgsDatagsNamegsVarsgsTermgsReflgsLawsgsImpsgsConfigQImports qiModulesqiNames TargetSrcgiIncDirgiTarget giTargetModgiCbsgsTcsgsCls giDerVars giImpVars giDefVars giUseVars gsExportsgsFiTcsgsFiDcs gsPrimTcs gsQualImps gsAllImps gsTyThings TargetInfogiSrcgiSpectoStableModule renderModuledropDependencyisPLEVar isExportedVar targetSrcIsotargetSpecGetter bareSpecIsoliftedSpecGetterunsafeFromLiftedSpec$fHasConfigTargetSpec$fHasConfigTargetInfo $fMonoidSpec$fSemigroupSpec $fPPrintSpec $fBinarySpec$fBinaryStableModule$fShowStableModule$fEqStableModule$fOrdStableModule$fHashableStableModule$fHasConfigGhcSpec$fEqTargetDependencies$fShowTargetDependencies$fSemigroupTargetDependencies$fMonoidTargetDependencies$fGenericTargetDependencies$fBinaryTargetDependencies$fGenericStableModule$fEqLiftedSpec$fGenericLiftedSpec$fShowLiftedSpec$fHashableLiftedSpec$fBinaryLiftedSpec$fGenericBareSpec$fShowBareSpec$fSemigroupBareSpec$fMonoidBareSpec$fBinaryBareSpec $fGenericSpec $fShowSpec$fShowQImportsmkMmkMSpec'mkMSpec dataConTypes defRefTypebodyPredMeasEnv meMeasureSpec meClassSymsmeSyms meDataCons meClasses meMethodsmeCLaws DataConMapTycEnvtcTyCons tcDataCons tcSelMeasures tcSelVars tcTyConMaptcAdts tcDataConMaptcEmbsSigEnvsigEmbs sigTyRTyMap sigExportssigRTEnv TyThingMap LocalVarsEnvREreLMapreSyms_reSubst _reTyThingsreCfg reQualImps reAllImps reLocalVars reGlobSymsreSrcPlugTVHsTVLqTVGenTVRawTVModSpecsplugSrc varSortedReftvarRSort failMaybe$fPPrintPlugTV$fHasConfigEnv $fShowPlugTV rewriteBindstransformRecExprtransformScope outerScTr innerScTrsetIdTRecBound isIdTRecBound$fFreshableVar$fFreshableUnique$fFreshableInt anormalize$fHasConfigAnfEnv $fFunctorDsM $fMonadDsM$fMonadUniqueDsM$fApplicativeDsMvmap freeSymbols runMapTyVarsisKind matchKindArgs mkVarExprjoinVarsimpleSymbolVar hasBoolResultPrettypretty simplifyExpr $fPretty[] $fPretty(,)$fPrettySymbol $fPrettyKVar $fPrettyExprPKeysSDeps LocTokensuIduLocuName makePKeyskVarIdsrcDeps gSpanToDepskVarSpan takeFileName symbolLoc $fShowUnique renderHtml ResolveSym resolveLocSymQualifyqualifymakeEnvsrcVars qualifyTopqualifyTopDummylookupGhcNamedVar lookupGhcVarlookupGhcDataConlookupGhcTyConlookupGhcDnTyCon knownGhcType knownGhcVar knownGhcTyConknownGhcDataCon errResolvemaybeResolveSym ofBareType ofBareTypeEofBPVar txRefSortresolveLocalBindspartitionLocalBinds$fQualifyRType$fQualifyRType0$fQualifyQualifier$fQualifyUReft $fQualifyExpr $fQualifySpec $fQualify(,)$fQualifyHashMap$fQualifyDataDecl$fQualifyDataCtor$fQualifyMeasure $fQualifyDef$fQualifyMeasure0$fQualifyRTyCon$fQualifyTyConInfo $fQualifyBody$fQualifyMaybe $fQualify[]$fQualifyLocated$fQualifySymbol$fQualifyEquation$fQualifySizeFun$fQualifyTyConP$fQualifyTyConMap$fResolveSymSymbol$fResolveSymDataCon$fResolveSymTyCon$fResolveSymVar dataConMapmakeDataConCheckermakeDataConSelectoraddClassEmbeds makeDataDeclsmeetDataConSpec makeConTypesmakeRecordSelectorSigs normalize logicTypeinlineSpecTypemeasureSpecType weakenResult runToLogicrunToLogicWithBoolBinds coreToDef coreToFun coreToLogicmkLitmkImkS $fShowExpr$fSimplify(,,)$fSimplifyBind$fSimplifyExprliteralFRefType literalFReft literalConst DiffCheckDCnewBinds oldOutputnewSpec checkedVarsslicethincoreDeps dependsOn filterBinds saveResult$fFromJSONOutput$fToJSONOutput$fFromJSONAnnInfo$fToJSONAnnInfo $fFromJSONDoc $fToJSONDoc$fFromJSONFixResult$fToJSONFixResult$fFromJSONStats $fToJSONStats$fFromJSONSourcePos$fToJSONSourcePos $fFunctorDiff$fPPrintDiffCheck$fOrdDefmkOutputannotate annErrors$fToJSONAnnMap $fToJSONLoc$fToJSONStatus $fToJSONAssoc$fToJSONAnnErrors$fToJSONAnnot1 OutputResultorHeader orMessagesconfigprintLiquidHaskellBannercanonicalizePathsmkOpts withPragmas reportResultexitWithResult addErrors$fShowCtxError$fFixpointFixResultrenderREq=*= compareRType $fREqLocated $fREqExpr $fREqReft $fREqUReft$fREqRef $fREqRTypesimplifyBounds tidyErrorsplitXRelatedRefs $fIsFreexterminationVars$fFunctorResult$fApplicativeResult $fMonadResult$fSemigroupResult$fMonoidResult$fFoldableFunInfo$fFunctorFunInfo$fMonoidFunInfo$fSemigroupFunInfo $fEqParam $fShowResult$fShowTermErrordecrTypeSSEnvmkVar freshNamegoalTypecreateSubgoalssubgoals withSubgoal unifyWithfromAnffromAnf'coreToHssymbols pprintSymbols pprintSymdiscardModName rmModNamemaintainLParenmaintainRParen pprintFormals caseIndentindent errorExprPp pprintVar pprintBodyfixApplication handleCommas fixCommasfixParen rmTypeApplparenreplaceNewLine pprintAltscountTcConstraints nonTrivial nonTrivialstrivial hasTrivial allTrivial rmTrivialsisVar returnsTuple filterREnvgetTopLvlBndrs getUniVars getUniVars0getBodyvarsPisInCBvarsCBvarsE caseVarsE symbolToVarargsPargsCBargsEnotrace $fDefaultVar $fDefaultType isFunction<$$> filterElseM substInFExprfindMcomposeMsolDelim pprintMany showGoalsshowEmem showEmem' exprmemToExprshowCand showCands showCoreAlt showCoreAlts$fPPrintAltConPspecMeasAssmAsrtLAsrtAsrtsImptDDeclNTDeclCLawsILawsRInstInclInvtUsingAliasEAliasEmbedQualifDecrLVarsLazyFailRewrite RewritewithInstsHMeasReflectIgnoreASizeHBoundPBoundPragmaCMeasIMeasVariaBFixDefineBPspechsSpecificationPspecSpecificationP singleSpecPparseSymbolToLogic $fPPrintPspec $fDataPspec$fShowParamComp $fEqPcScope $fShowPcScope LiquidQuoteliquidQuoteSpecSimpl Simplified FoundExprArg FoundHolelqlqDec throwErrorInQ mkSpecDecs symbolNamesimplifyBareTypesimplifyBareType'simplifyBareType''filterExprArgs locSourcePos dataToExpQ' textToExpQextQ $fMonadSimpl$fApplicativeSimpl$fDataLiquidQuote$fFunctorSimplcheckLawInstancesFEnvFEfeBindsfeEnvfeIdEnv RTyConIAl RTyConInvHEnvCGInfofEnvhsCshsWfsfixCsfixWfs freshIndexebindsannotMapholesMap tyConInfospecDecrnewTyEnv termExprs specLVarsspecLazy specTmVarsautoSize tyConEmbedkutskvPackscgLitscgConstscgADTstcheck pruneRefs logErrorskvProfrecCount bindSpansallowHOghcI dataConTysunsortedFixWfCFixSubCWfCSubCSubRsenvlhsrhsobligref LConstraintLCCGEnvCGEcgLocrenvsyenvdenvlitEnvconstEnvfenvrecsinvsrinvsialgrtysassmsintysembtgEnvtgKeytreclcbforallcbholeslcscerrcgInfocgVarCG getTemplates fromListHEnvelemHEnv mkRTyConInv mkRTyConIAl addRTyConInvaddRInvremoveInvariantrestoreInvariantmakeRecInvariants insertsFEnvinitFEnv$fSemigroupLConstraint$fMonoidLConstraint $fNFDataRInv $fNFDataFEnv $fNFDataCGEnv $fShowCGEnv $fPPrintCGEnv$fHasConfigCGEnv $fNFDataWfC $fPPrintWfC $fNFDataSubC $fPPrintSubC$fNFDataCGInfo$fPPrintCGInfo $fShowRInvgiQuals useSpcQuals fixConfig cgInfoFInfo canRewrite refinementEQsrefreshArgsTop freshTy_type freshTy_expraddKutstrueTy$fFreshableStateTInteger fromListREnv insertREnv lookupREnvlocalBindsOfType toListREnvextendEnvWithVV addBindersrTypeSortedReft'+= globalizeaddSEnvaddEEnv+++=-=?= setLocationsetBindsetRecssetTRec getLocationSMSStaterEnvssEnvssIdx ssDecrTermsContextsCGIsCGEnvsFCfgsDepthsExprMemsExprIdsArgsId sArgsDepthsUniVarssFixsGoalTys sGoalTyVarsUGoalTysForallscaseIdx scrutineesT ExprMemory SSDecrTermlocalMaxMatchDepthlocalMaxAppDepthlocalMaxArgsDepthlocallyevalSM initStategetSEnvgetSEMemgetSFix getSUniVars getSDecrTermsaddsEnvaddsEmemaddEnvaddEmem addDecrTerm lookupAll thisReplacestructuralCheck structCheck notStructural isDecreasing'liftCG0liftCG freshVarTypefreshVar withIncrDepthincrSMincrCase safeIxScruts symbolExpr initExprMeminsEMem0 instantiateTyapplyTyfixEMem instantiateTLapply instantiate withTypeEsfindCandidates functionCandsvarErrortoGhcSrc initSSEnvtpToCons typeToCons rmMeasuresaddCaddPostaddW addWarningaddIdA boundRecVaraddLocAaddHole updateLocAaddA lookupNewTypeenvToSubinitEnvinitCGIaddConstraintsconstraintToLogicsplitWsplitC panicUnbound specToBare measureToBaremakePluggedSigmakePluggedDataCon makeRTEnv qualifyExpand cookSpecType cookSpecTypeEspecExpandType plugHoles$fExpandHashMap $fExpand[] $fExpandMaybe $fExpand(,)$fExpandLocated $fExpandSpec $fExpandDef$fExpandMeasure$fExpandDataDecl$fExpandDataCtor $fExpandBody$fExpandRTAlias$fExpandRTAlias0 $fExpandRType$fExpandRType0 $fExpandUReft $fExpandReft $fExpandExprmakeInstanceLawsmakeHaskellAxioms wiredReflectsgenerateConstraintsgenerateConstraintsWithEnvconsEcaseEnv$fMonadFailIdentity$fPPrintTemplate$fFunctorTemplate$fFoldableTemplate$fTraversableTemplate$fShowTemplatehasType isWellTypedcheck checkErrorDepth SearchModeArgsMode ResultModegenTerms genTerms'genArgswithDepthFillArgsargsFill withDepthFillfillfeasible feasibles isFeasible findFeasiblestoExprfixCandsreplace repeatFixprunefillOne applyTermapplyArg applyTermsprodScrutineessynthesizeScrutinee$fEqSearchMode$fShowSearchMode synthesizemakeHaskellMeasuresmakeHaskellInlinesmakeHaskellDataDeclsmakeMeasureSelectorsmakeMeasureSpec'makeMeasureSpec varMeasuresmakeClassMeasureSpecmakeMethodTypes makeCLaws makeClassesmakeSpecDictionariesmakeDefaultMethods checkBareSpeccheckTargetSpecloadLiftedSpecsaveLiftedSpecmakeTargetSpec realTargetsgetInterfaceDynFlagsgetTargetInfos runLiquidGhc classCons derivedVars importVars updLiftedSpec clearSpeckeepRawTokenStreamloadDependenciesOf makeGhcSrc allImportsqualifiedImportslookupTyThingsavailableTyCons availableVarsmodSummaryHsFilecheckFilePragmasmakeFamInstEnvextractSpecCommentsextractSpecQuotes'findAndParseSpecFilesnoTerm parseSpecFile makeLogicMap pprintCBs$fResultSourceError$fPPrintTargetVars$fShowTargetInfo$fPPrintTargetInfo$fPPrintTargetSpecMbEnvliquidliquidConstraints runLiquidcheckTargetInfoResponseCommandStatesCountsMbEnv$fSerializeStatus$fGenericStatus $fDataStatushandlerinitialplugin$fUnoptimise(,)$fUnoptimiseModSummary$fUnoptimiseDynFlagsExceptionMonadghc-prim GHC.ClassesEq==cmdrgs-0.10.20-3a1237fb System.Console.CmdArgs.VerbosityQuietSymbol#Language.Fixpoint.Types.RefinementsReftbaseGHC.Listheadtail Data.Tuplefstsndbinary-0.8.8.0Data.Binary.ClassBinary GHC.TypesTrue GHC.MaybeNothingGHC.IOFilePathControl.Monad.FailfailTcDatatcAvailableTyConstcAvailableVars SpecCommentparsec-3.1.14.0Text.Parsec.Pos SourcePos CachedSpec mkLiquidLib LiquidLibaddLibDependencies libTargetlibDepsallDepstoCachedmergeInputWithCompanion InputSpec CompanionSpecmkTcDatatcResolvedNames tcAllImportstcQualifiedImports PipelineDatapdUnoptimisedCorepdTcDatapdSpecComments UnoptimisedfromUnoptimised LiquidSpeccachedSpecStableModuleIdcachedSpecModule fromCached mkInputSpecmkCompanionSpec downcastSpec toUnoptimisedpartitionMaybe Annotations AnnotationserialiseLiquidLib pluginAbortdeserialiseLiquidLibInterfaceLocation DiskLocationSpecFinderResultfindRelevantSpecsfindCompanionSpec SpecFinderconfigToRedundantDependenciesSearchLocation SpecNotFound SpecFoundLibFound