!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$ % & ' (!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C"D"E"F#G#H#I$J$K$L$M$N$O$P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''((())))))*****++++,--------.....0 Safe-Infered.A data type to represent monotypes. Note that Type is already in use P in the Unified Haskell Architecture (UHA) which is used in the Helium compiler <The application of two Top.Types. Not all types that can be  constructed are well-formed. ,A type constant is represented by a string. !The type variables are numbered. FConstructs a function type from one type to another. This operator is  left associative. For instance, (listType intType) represents [Int] For instance, (ioType boolType) represents  (IO Bool) =A cathesian product of zero or more Top.Types. For instance,   (tupleType []) represents (), and  (tupleType [charType, stringType])  represents  (Char,String) 4The unit type. A special instance of of tuple type. >Returns the list of type variables of a type. (no duplicates) >Returns the list of type constants of a type. (no duplicates) 8Returns the left spine of a type. For instance, if type t  is Either Bool [Int], then  leftSpine t is (Either,[Bool,[Int]]). :Returns the right spine of a function type. For instance,  if type t is Int -> (Bool -> String), then functionSpine t  is  ([Int,Bool],String). @Returns the right spine of a function type of a maximal length. HReturns the arity of a type, that is, the number of expected arguments. IThe priority of a type, primarily used for the insertion of parentheses  in pretty printing. HAll the type variables in a type are frozen by turning them into a type ? constant. The integer numeral is prefixed with an underscore ('_'). 6Recover the type variables that are frozen in a type. )  !"  !"  !$  ! Safe-Infered "#$%&'()*+, "#$%&'()*+, #$%&'()*+", "#$%&'()*+, Safe-Infered-./0123456789:;<=>?@ABCDEFG-./0123456789:;<=>?@ABCDEFG:29876543;<=>?BA@C/10.-DEFG-./1029876543:;<=>?@ABCDEFG Safe-InferedHIJKLMNOPQM     HIJKLMNOPQ KHIJLMNOPQ HIJKLMNOPQ/ Safe-Infered Safe-Infered\!Combine two monadic computations lEThe maximal number of equality paths that is returned by equalPaths S (although this number can be exceeded...it is more or less used as approximation) * Nothing indicates that there is no limit RSTUVWXYZ[\]^_`abcdefghijklmnRSTUVWXYZ[\]^_`abcdefghijklmnRWVUTSXYZ[\]^_`abcdefghijklmnRWVUTSXYZ[\]^_`abcdefghijklmn Safe-Inferedq\A fixpoint is computed when looking up the target of a type variable in this substitution. T Combining two substitutions is cheap, whereas a lookup is more expensive than the ! normal finite map substitution. s,A substitution represented by a finite map. }:The next type variable that is not free (default is zero) ,Compose two finite map substitutions: safe.  Note for 6: bindings in right argument shadow those in the left 7Compose two finite map substitutions: quick and dirty! !The empty fixpoint substitution 5Combine two fixpoint substitutions that are disjoint "opqrstuvwxyz{|}~ opqrstuvwxyz{|}~wxyz{|tuv}s~qropopqrstuvwxyz{|}~  Safe-Infered!"#$% !"#$% Safe-InferedOThis class can deal with the pretty printing of (possibly nested) quantifiers. @List of unique identifiers.(a, b, .., z, a1, b1 .., z1, a2, ..) 7&'()*+,-...-&'()*+,-.  Safe-Infered GAn (unordered) collection of type synonyms, together with an ordering. ?An ordering of type synonyms maps a name of a type synonym to  a position in the ordering. LA (unordered) collection of type synonyms is represented by a finite map of B strings (the name of the type synonym) to pairs that have an int ? (the number of arguments of the type synonym) and a function. .An empty collection of ordered type synonyms. !A string is a list of characters JOrder a collection of type synonyms, and return this ordering paired with = sets of mutually recursive type synonyms that are detected. (Fully expand a type in a recursive way. -Fully expand the top-level type constructor. -Fully expand the top-level type constructor. 7Try to expand the top-level type constructor one step. YTry to expand the top-level type constructor of one of the two paired Top.Types. If both X top-level type constructors can be expanded, then the type synonym thast appears first  in the ordering is expanded.  Safe-InferediThere are two reasons why two types cannot be unified: either two (different) type constants clash (they h should be the same), or a type variable should be unified with a composed type that contains this same  type variable. :The most general unification (substitution) of two types. LFind the most general type for two types that are equal under type synonyms ( (i.e., the least number of expansions) `Given a set of (ordered) type synonyms, can two types be unified? 6Same as unifiable, but takes as input a list of types   Safe-InferedThe empty class environment 'For example, Eq is a superclass of Ord /012/012  Safe-Infered)A substitution for type scheme variables 3A sigma is a type scheme or a type scheme variable 5A type class to convert something into a type scheme MA type scheme consists of a list of quantified type variables, a finite map N that partially maps these type variables to their original identifier, and a  qualified type. *Determine the arity of a type scheme. <Is the type scheme overloaded (does it contain predicates)? 3456789:;<=>3456789:;<=>  Safe-Infered Star is the kind of all values. HIn traditional kind inference systems, a kind cannot contain variables. I At some point in the inference process the kind variables are defaulted  to star. A function to show kinds.      Safe-Infered  ?@ABC      ?@ABC Safe-Infered             Safe-Infered !"#DEFGHIJO      !"#  !"# !"#DEFGHIJNone$%&'()*+,-./0123KLMNOPQRSTUVW  $%&'()*+,-./0123*+,-./0()&'$%123$%&'()*+,-./0123KLMNOPQRSTUVW Safe-Infered456789:;<=>?@XY 456789:;<=>?@ =89:;<4567>?@456789:;<=>?@XY0 Safe-Infered  !opqrstuvwxyz{|}~  Safe-InferedABCDEFGHIJKLMZ[\] ABCDEFGHIJKLM DEFGHIJKLMABCABCD EFGHIJKLMZ[\] Safe-Infered2NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs^_`abcdefghi&NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs&ghfbedci`a^_[]\jkVWXYZUQTSROPNlmnopqrs"NOPQTSRUVWXYZ[]\^_`abedcfghijklmnopqrs^_`abcdefghi Safe-Inferedtuvwxyz{|}~tuvwxyz{|}~tuvwxyz{|}~tuvwxyz{|}~ Safe-Infered#vertices in this equivalence group *(initial) edges in this equivalence group jj Safe-Inferedklmklm Safe-InferedOThe data type ConstraintSum is similar to the (standard) Either data type. Q However, its Show instance is slightly different as the name of the constructor  is not shown. GA constraint is solvable if it knows how it can be solved in a certain K state (a monadic operation), if it can check afterwards whether the final / state satisfies it, and when it can be shown. DLifting a constraint to the Constraint data type. Every instance of ( the Solvable type class can be lifted. Similar to the n function. oIf both constraints of type a and b can be solved in a Monad m, then  ' Either a b'/ constraints can also be solved in this monad. pqrsotuvwxpqrsotuvwx Safe-Infered2A datatype to label the errors that are detected. y  y Safe-InferedGMake the state consistent. Only relevant for substitution states that H can be inconsistent (for instance, the type graph substitution state). EUnify two terms. Supply additional information for this unification. 8Lookup the value of a type variable in the substitution  Return a fixpoint substitution. CApply the substitution to a value that contains type variables (a + member of the Substitutable type class). z  z Safe-Infered{  { Safe-InferedLFirst, make the substitution consistent. Then check the skolem constants(?)      |                | Safe-Infered+The constructor of an equality constraint. }~}~ Safe-Infered#A counter for fresh type variables All known type synonyms List of skolem constants Type scheme map An empty type inference state.  Safe-Infered#BThe constructor of an instantiate (explicit instance) constraint.  !"# !"#"! #"! # None $%&'$%&'$%&'$%&'! Safe-Infered5%All known type classes and instances 6Type class assertions 7%Directives for type class assertions %()*+,-./0123456789:;<=>?@AB()*+,-./0123456789:;<=>?@AB3456789:;=<>2-10/.()*+,?@AB()*+,-10/.23456789:;<=>?@AB" Safe-Infered CDECDECDECDE# Safe-InferedFGHFGHFHGFHG$NoneIJA BasicState is parameterized over the monad in which the constraints can J be solved, and over the information that is stored with each constraint. K,A stack of constraints that is to be solved LThe detected errors M1Conditions to check (for the solved constraints) N8Discard all remaining constraints after the first error An empty BasicState. IJKLMNOIJKLMNOIJKLMNOIJKLMNO% Safe-Inferedu:Print the current state and add this as a debug message. *PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu&efghijk^_`abcdlmWXYZ[\]noVTUPQRSpqrstuPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu& Safe-Inferedvwxyz{|}~vwxyz{|}~xvwyz{|}~vwxyz{|}~' Safe-Infered( Safe-Infered) Safe-InferedCompute the smallest minimal* sets. This computation is very(!) costly 8 (might take a long time for complex inconsistencies) ZAlthough not as precise as the minimal set analysis, this calculates the participation of  each edge in all error paths. $ Default ratio = 1.0 (100 percent) I (the ratio determines which scores compared to the best are accepted)  Select the latest constraint (Select only specific constraint numbers JSelect only the constraints for which there is evidence in the predicates A of the current state that the constraint at hand is incorrect. * Safe-Infered  + Safe-Infered, Safe-InferedSThe first solver is used to solve the constraint set. If this fails (at least one = error is returned), then the second solver takes over. -None.None123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                           ! " # $ % & ' ( ) * + , - . / 0 1233456789:;<=>?@@AABCDEFGyyHHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvvwxyz{|}~       !"#$%&'()*+,-../012345678 9 9 : ;!<!<!=!>!?!@!A!B!C!D!E!F!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T"U"U"V#W#X#Y$Z$Z$[$\$]$^$_%`%`%a%b%c%c%d%e%f%g%h%G%i%j%k%k%l%m%n%o%p%q%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''((())))))*****++c++,--------.....     / !"#$%&'()*+, - . / 0 1 2 3 4 5 6 7 8 9 : ; <=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !!!!!!!!!!""""""####$$$$$$%%%%&(((********Top-1.7Top.Types.PrimitiveTop.Ordering.TreeWalkTop.Ordering.TreeTop.Monad.StateFix!Top.Implementation.TypeGraph.PathTop.Types.SubstitutionTop.Types.QualificationTop.Types.QuantificationTop.Types.SynonymTop.Types.UnificationTop.Types.ClassesTop.Types.SchemesTop.Types.KindsTop.Util.EmptyTop.Util.EmbeddingTop.Monad.SelectTop.Implementation.GeneralTop.Util.OptionTop.Constraint.Information#Top.Implementation.TypeGraph.Basics"Top.Implementation.TypeGraph.Class-Top.Implementation.TypeGraph.EquivalenceGroup%Top.Implementation.TypeGraph.StandardTop.ConstraintTop.Interface.BasicTop.Interface.SubstitutionTop.Interface.QualificationTop.Interface.TypeInferenceTop.Constraint.Equality Top.Implementation.TypeInferenceTop.Constraint.Polymorphism#Top.Implementation.FastSubstitutionTop.Implementation.Overloading%Top.Implementation.SimpleSubstitutionTop.Constraint.QualifierTop.Implementation.Basic Top.Solver)Top.Implementation.TypeGraph.ClassMonadic&Top.Implementation.TypeGraph.Heuristic,Top.Implementation.TypeGraph.ApplyHeuristics.Top.Implementation.TypeGraph.DefaultHeuristics(Top.Implementation.TypeGraphSubstitutionTop.Solver.PartitionCombinatorTop.Solver.SwitchCombinatorTop.Solver.GreedyTop.Solver.TypeGraphUtils Top.TypesHasTypesgetTypes changeTypesTpTAppTConTVarTpsintTypecharType floatTypeboolType stringType.->.listTypeioType tupleTypevoidTypevariablesInTypeconstantsInType leftSpine functionSpinefunctionSpineOfLength arityOfTppriorityOfTypefreezeVariablesInTypeunfreezeVariablesInTypeisTVarisTConisTAppisFunctionTypeisTupleConstructorisIOTypetpParserListTreeWalktopDownTreeWalkbottomUpTreeWalkinorderTopFirstPreTreeWalkinorderTopLastPreTreeWalkinorderTopFirstPostTreeWalkinorderTopLastPostTreeWalkreverseTreeWalk concatListPhasedSpreaded DirectionDownUpTreeChunkPhaseReceiveSpread StrictOrderAddListNodeTrees emptyTreeunitTreelistTreebinTree.>..>>..<..<<.makeTreeHelper flattenTree spreadTree phaseTree chunkTree StateFixTFixunFixStateFix runStateFixT evalStateFixT execStateFixT runStateFix evalStateFix execStateFixPathEmptyFailStep:+::|:seqListseqList1altListaltList1mCombine<+><|><++>stepsmapPath changeStep changeStepMminCompleteInPath simplifyPath tailSharingBy flattenPath minimalSetsremoveSomeDuplicatesparticipationMappathSizemaxNumberOfEqualPathsreduceNumberOfPathslimitNumberOfPathsWrappedSubstitutionFixpointSubstitutionMapSubstitution Substitutable|->ftv Substitution lookupInt removeDom restrictDomdomcodnextFTV emptySubst@@@@@singleSubstitutionlistToSubstitutionemptyFPS disjointFPSwrapSubstitution freezeFTVallTypeVariablesallTypeConstantsShowQualifiersshowQualifiers Qualificationsplit.=>. qualifiers unqualifyqualify showContextshowContextSimple ShowQuantorsshowQuantorsWithoutShowQuantorOptionsshowTopLevelQuantorsdontUseIdentifiersvariablePrefixshowAllTheSame useTheNameMap HasSkolems allSkolems changeSkolemsExists ExistentialForall Universal QuantorMapQuantificationwithoutQuantors showQuantor noQuantifiers quantifiers unquantifyintroduceTypeVariablesintroduceSkolemConstantsbindTypeVariablesbindSkolemConstants getQuantorMap instantiate skolemize generalize generalizeAllquantify unskolemizeopenrevealcloseunreveal skolemPrefixmakeSkolemConstantfromSkolemString skolemizeFTVdefaultOptions showQuantors variableListOrderedTypeSynonymsTypeSynonymOrdering TypeSynonymsnoOrderedTypeSynonymsstringAsTypeSynonymgetTypeSynonymOrderingisPhantomTypeSynonym expandTypeexpandTypeConstructorexpandToplevelTCexpandTypeConstructorOneStepexpandOneStepOrderedUnificationError InfiniteType ConstantClashmgumguWithTypeSynonymsequalUnderTypeSynonyms unifiable unifiableListReductionErrorInstance InstancesClassClassEnvironment Predicate PredicatesemptyClassEnvironmentmatchPredicatesinsertInstanceinClassEnvironmentsuperclassPaths superclasses instancesinHeadNormalFormlistToHeadNormalFormtoHeadNormalForm bySuperclass byInstanceentail entailListscEntailcontextReductionassociatedContextReductionstandardClasses IsSigmaPreds toSigmaPreds SigmaPreds TpSchemeMapSigmaVarSigma SigmaSchemeScheme IsTpScheme toTpSchemeQTypeTpSchemearityOfTpSchemegenericInstanceOf isOverloaded makeSchemeinstantiateWithNameMap KindSchemeKindsKindstar defaultToStarshowKindshowKindSchemeempty EmbeddinggetEchangeEsetEwithEidEfstEsndEcomposeEfromFstEfromSndEEmbedded embedding SelectFixSelectselect selectFixdeselect deselectFor deselectFixdeselectFixForSimpleAndCompose SolveState showState stateName stateOptions collectStates allStates allOptions fromFstFixEfromFstSimpleE fstSimpleE OptionAccessAccess getOption setOptionOption defaultValue currentValueoptionDescriptionoption ignoreOptionoptionAccessTrans useOptionPolyTypeConstraintInfoinstantiatedTypeSchemeskolemizedTypeSchemeTypeConstraintInfoequalityTypePairambiguousPredicateunresolvedPredicatepredicateArisingFromparentPredicateescapedSkolemsneverDirectivecloseDirectivedisjointDirective CliqueListCliqueCliqueXPathStepChildImpliedInitial TypeGraphPath ParentChildparentchild childSide ChildSide RightChild LeftChildEdgeNrEdgeNrXEdgeId VertexKindVAppVConVVar VertexInfoVertexId vertexIdToTp makeEdgeNr impliedEdgeNrisSubsetCliqueisDisjointCliquecliqueRepresentativetriplesInCliquechildrenInClique mergeCliques makeCliquecombineCliqueList TypeGraph addTermGraph addVertexaddEdge addNewEdge deleteEdgeverticesInGroupOfchildrenInGroupOfconstantsInGroupOfrepresentativeInGroupOf edgesFromallPaths allPathsListallPathsListWithoutsubstituteVariablesubstituteTypesubstituteTypeSafemakeSubstitutiontypeFromTermGraphmarkAsPossibleErrorgetMarkedPossibleErrorsunmarkPossibleErrorsEquivalenceGroupverticesedges emptyGroup insertVertex insertEdge insertClique combineGroups removeEdge removeClique splitGroup constants consistent equalPaths typeOfGroup checkGroupStandardTypeGraphSTG referenceMapequivalenceGroupMapequivalenceGroupCounterpossibleErrorsconstraintNumbercombineClassespropagateEquality addCliquepropagateRemoval splitClass deleteClique createGroup removeGroup updateGroupOfmaybeGetGroupOf getGroupOf getAllGroups vertexExistsgetPossibleInconsistentGroupssetPossibleInconsistentGroupsaddPossibleInconsistentGroup ConstraintSumSumRightSumLeft OperationOp_SolvablesolveConstraintcheckCondition Constraint ConstraintsliftConstraintliftConstraints mapConstraint operation constraintSum ErrorLabel NoErrorLabelHasBasicpushConstraintpushConstraints popConstraintdiscardConstraintsaddLabeledErrorgetLabeledErrorsupdateErrorInfoaddCheck getChecksstopAfterFirstErrorcheckConditions ClassBasicdeBasic pushOperationpushNamedOperationaddError getErrorsdoChecks startSolving stopOption checkOptionHasSubstmakeSubstConsistent unifyTermsfindSubstForVar fixpointSubst ClassSubstdeSubstunificationErrorLabel applySubstHasQualproveQualifierassumeQualifierchangeQualifiers allQualifiersgeneralizeWithQualifiersimproveQualifiersimproveQualifiersNormalimproveQualifiersFinalsimplifyQualifiersambiguousQualifierssetClassEnvironmentgetClassEnvironment ClassQualdeQualproveQualifiersassumeQualifiers ambiguitiesimproveQualifiersFixHasTI getUnique setUniquesetTypeSynonymsgetTypeSynonyms getSkolems setSkolemsallTypeSchemes getTypeSchemestoreTypeSchemeClassTIdeTI nextUniquezipWithUniques addSkolem instantiateMskolemizeTrulyskolemizeFakedgetSkolemSubstitutionmakeConsistent checkSkolemsskolemVersusConstantLabelskolemVersusSkolemLabelescapingSkolemLabelreplaceSchemeVar findSchemeEqualityConstraintEquality.==.TIStatecountersynonymsskolems schemeMapPolymorphismConstraintImplicit Skolemize Instantiate Generalize.::. GreedyStateunGSwriteExpandedType PredicateMapglobalQualifiersglobalGeneralizedQsglobalAssumptionsTypeClassDirectiveDefaultDirectiveDisjointDirectiveCloseDirectiveNeverDirectiveTypeClassDirectivesOverloadingStateclassEnvironment predicateMaptypeClassDirectivessimplify ambiguousmodifyPredicateMap proveQsSubst assumeQsSubstgeneralizedQsSubstsubstPredicateunresolvedLabel disjointLabelambiguousLabelmissingInSignatureLabel SimpleStateunSSExtraConstraintAssumeProve BasicState constraintserrors conditions optionStop optionCheckLogEntryprioritymsg LogEntries BasicMonad SolveOptions SolveOptions_ uniqueCounter typeSynonymssetStopAfterFirstErrorsetCheckConditions SolveResultuniqueFromResultsubstitutionFromResulttypeschemesFromResultqualifiersFromResulterrorsFromResultConstraintSolvermakeConstraintSolversolveonlySolveConstraintssolveConstraints solveResult emptyResultcombineResults solveOptions initialize noLogEntries singleEntryevalBasicMonadlogMsg logMsgPriologStateHasTG withTypeGraph HasTypeGraph useTypeGraphchangeTypeGraph theUnifyTermsmakeFixpointSubst HasTwoTypes getTwoTypes HComponentVotingFilterSelector SelectorList HeuristicPathHeuristicsgetSelectorNameresultsEdgeFiltermaximalEdgeFilterminimalEdgeFilter edgeFilterdoWithoutEdges doWithoutEdgeeqInfo2 info2ToEdgeNrgetSubstitutedTypesapplyHeuristics expandPath predicatePathdefaultHeuristics inMininalSethighParticipationfirstComeFirstBlamedselectConstraintNumbersinPredicatePathTypeGraphState typegraph heuristicsremoveInconsistenciesChunkIDChunkssolveChunkConstraints|>>| GreedySimpleS GreedySimpleGreedySGreedy solveGreedygreedyConstraintSolver solveSimplegreedySimpleConstraintSolverTGSTGsolveTypeGraphtypegraphConstraintSolver typegraphConstraintSolverDefault$fHasTypesEither$fHasTypesMaybe $fHasTypes(,) $fHasTypes[] $fHasTypesTp$fReadTp$fShowTp $fFunctorTree$fMonadWriterwStateFixT$fMonadTransStateFixT$fMonadStatesStateFixT$fMonadStateFixTbaseGHC.Basefail>>=>>fmapreturnControl.Monad.Fixmfix Control.MonadguardliftMMonadFunctorMonadFix MonadPlus Data.FunctionfixmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<mplusmzerotransformers-0.3.0.0Control.Monad.Trans.Class MonadTransliftControl.Monad.IO.ClassMonadIOliftIO mtl-2.1.2Control.Monad.State.Classgetsmodifystateputget MonadStateControl.Monad.Trans.State.LazyStateT runStateTStaterunState evalState execStatemapState withState evalStateT execStateT mapStateT withStateT internalError $fShowPathcontainers-0.4.2.1Data.Mapunion$fSubstitutableEither$fSubstitutableMaybe$fSubstitutable(,)$fSubstitutable[]$fSubstitutableTp!$fSubstitutionWrappedSubstitution"$fSubstitutionFixpointSubstitution$fSubstitutionMap$fShowQualifiers[]$fShowQualifiers(,)$fShowQualification$fHasTypesQualification$fSubstitutableQualification$fShowQuantorsQuantification$fShowQuantification$fShowQuantorsTp$fHasSkolems[]$fHasSkolemsTp$fShowExistential$fShowUniversal$fHasTypesQuantification$fSubstitutableQuantification$fShowQualifiersPredicate$fHasTypesPredicate$fSubstitutablePredicate$fShowPredicate$fIsSigmaPredsInt$fIsSigmaPredsTp$fIsSigmaPredsQualification$fIsSigmaPredsQuantification$fIsSigmaPredsSigma$fShowQuantorsSigma$fSubstitutableSigma $fShowSigma$fShowQuantorsQualification$fIsTpSchemeTp$fIsTpSchemeQualification$fIsTpSchemeQuantification $fEmptyEither $fEmptyMaybe $fEmpty[] $fEmpty(,) $fEmpty()$fEmbeddedc(,)t$fMonadTransSelectFix$fMonadStatetSelectFix$fMonadSelectFix$fMonadTransSelect$fMonadStatetSelect $fMonadSelect$fEmbeddedcFixs$fEmbeddedcSimples$fEmbeddedcAnds$fSolveStateFix$fSolveStateSimple$fSolveStateAnd $fShowFix $fShowSimple $fShowAnd $fEmptyFix $fEmptySimple $fEmptyAnd$fSolveState()$fFunctorOption $fShowOption$fPolyTypeConstraintInfo[]$fTypeConstraintInfo[]$fPolyTypeConstraintInfo()$fTypeConstraintInfo() $fOrdClique $fEqClique $fShowClique $fOrdEdgeId $fEqEdgeId $fShowEdgeId$fShowPathStep$fOrdParentChild$fShowParentChild$fShowChildSide $fShowEdgeNr$fShowVertexId$fShowEquivalenceGroup $fTypeGraphStandardTypeGraphinfo$fShowStandardTypeGraph$fEmptyStandardTypeGraph Data.Eithereither$fSolvableEitherm$fSolvableConstraintSumm$fSubstitutableConstraintSum$fFunctorConstraintSum$fShowConstraintSum$fSubstitutableOperation$fShowOperation$fSolvableConstraintm$fSubstitutableConstraint$fShowConstraint$fHasBasicStateFixTinfo$fHasSubstStateFixTinfo$fHasQualStateFixTinfo$fHasTIStateFixTinfo$fSolvableEqualityConstraintm!$fSubstitutableEqualityConstraint$fFunctorEqualityConstraint$fShowEqualityConstraint$fEmptyTIState$fHasTISelectinfo$fEmbeddedClassTISimpleTIState $fShowTIState$fSolveStateTIState!$fSolvablePolymorphismConstraintm%$fSubstitutablePolymorphismConstraint$fFunctorPolymorphismConstraint$fShowPolymorphismConstraint$fHasSubstSelectinfo%$fEmbeddedClassSubstSimpleGreedyState*$fEmbeddedClassSubstGreedyStateGreedyState$fEmptyGreedyState$fShowGreedyState$fSolveStateGreedyState$fSubstitutablePredicateMap$fEmptyPredicateMap$fShowPredicateMap$fShowTypeClassDirective$fHasQualSelectinfo)$fEmbeddedClassQualSimpleOverloadingState3$fEmbeddedClassQualOverloadingStateOverloadingState$fSolveStateOverloadingState$fShowOverloadingState$fEmptyOverloadingState%$fEmbeddedClassSubstSimpleSimpleState*$fEmbeddedClassSubstSimpleStateSimpleState$fEmptySimpleState$fShowSimpleState$fSolveStateSimpleState$fSolvableExtraConstraintm$fSubstitutableExtraConstraint$fFunctorExtraConstraint$fShowExtraConstraint$fEmptyBasicState$fHasBasicSelectFixinfo!$fEmbeddedClassBasicFixBasicState($fEmbeddedClassBasicBasicStateBasicState$fShowBasicState$fSolveStateBasicState$fShowLogEntries$fShowLogEntry$fMonoidLogEntries$fEmptySolveResult Data.Monoid<>mconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastControl.Monad.Writer.Classcensorlistenspasslistentellwriter MonadWriterControl.Monad.Trans.Writer.LazyWriterT runWriterTWriter runWriter execWriter mapWriter execWriterT mapWriterT$fHasTypeGraphminfo $fOrdIntPair $fEqIntPair $fShowIntPair$fHasTGSelectinfo$fHasTGStateFixTinfo($fEmbeddedClassSubstSimpleTypeGraphState0$fEmbeddedClassSubstTypeGraphStateTypeGraphState$fEmptyTypeGraphState$fShowTypeGraphState$fSolveStateTypeGraphState