!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None*,5:..->(..)TODO: pretty print exceptions#Expects to be wrapped in parens)Only considers Abs, App and Var*  !"#$%&'()(  !"#$%&'*) ( !"#$%&'  !"#$%&'()None:567567567567None,5:89:;<=>?@ABCDEFGHIJKLMNOP89:;=<>?@ABCDEFGHIJKLMABCDP>?@OEFGH;<=NIJK89:LM89:;<=>?@ABCDEFGHIJKLMNOPNone*:ZMore technical shared data XYZ[\]^_` XYZ[\]^_` Z[\]^_YX`XYZ[\]^_`None*5:We're working in an implicitly quantified prenex-polymorphic type system, so trivial type expressions are also type schemes..Substitute n for t, given there's no collision=Where we don't want to include variables bound by our context(Replaces bound variables with fresh ones5cdefghijklmnopqrstuvwxyz{|}~/cdefghijklmnpoqrstuvwxyz{|}~5yz{|}~vwxutqrsnopjklmfghicdecdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGGHIJKLMNOPQRSTUVWXYZ[\]^__`abcdefghijjklmmnopqrsstuvwwxyz{|}~$ltext-0.1.2.2-KARYaT1nC01JpybyZ1qbQV LText.Expr LText.EvalLText.DocumentApplication.Types LText.TypeLexemeLambdaArrowIdent Bracketed getBracketed MonadParse ParseErrorBracketsInsideLambdaLambdaInsideLambdaLambdaInStaleScopeArrowWithoutLambda ArrowInScopeEmptyExpression LexerError ParseState InsideLambdaScopeScopeUseFreshStaleMonadPrettyPrintExprAbsAppVarLitConcatppExprinitParseStatehandleParseErrorrunParse runParserT parseExprexprlexlambdaarrowident bracketed$fExceptionParseError$fArbitraryExpr $fShowExpr$fEqExpr$fShowScopeUse $fEqScopeUse$fShowParseState$fEqParseState $fShowLexeme $fEqLexeme$fShowParseError$fEqParseError$fGenericParseErrorevaluate substitutefreeVarsPrintabilityMode InsideConcat InsideExpr PrintErrorConcatExprTextNoExplicitDelimiters DocumentBodyRawText ExpressionDocument documentArity documentBodyrepackDocument parseDocument printDocument fromDocumenthandlePrintError toDocumenthasConcatAbsLit fetchDocument rawDocument$fExceptionPrintError$fArbitraryDocumentBody$fArbitraryDocument$fShowDocumentBody$fEqDocumentBody$fShowDocument $fEqDocument$fShowPrintError$fEqPrintError$fGenericPrintErrorAppMMonadAppEnv topLevelExpr isTypeQueryrawTermsdelimsrunAppM$fEqEnv $fShowEnvExprTypeTopLevelDocLevelContext contextMap contextFreshScheme schemeQuant schemeTypeIsType freeTVars applySubstSubstgetSubst TypeCheckMMonadTypecheckTypeEnvplaintextFiles TypeError CantUnifyUnboundVariableOccursCheckFailure expectedType givenTypeTypeTextTVarTArrowppTypehandleTypeError toTypeEnv emptyTypeEnv runTypeCheckM freshTVarsomewhatFreshTVarmostGeneralUnifiervarBind initContext removeTVarquantify unQuantifytypeOfTopLevel typeInfer$fIsTypeContext$fIsTypeScheme $fIsTypeType $fIsType[] $fMonoidSubst$fExceptionTypeError $fShowType$fEqType$fShowTypeError $fEqTypeError$fGenericTypeError $fShowTypeEnv $fEqTypeEnv $fShowSubst $fEqSubst $fShowScheme $fEqScheme $fShowContext $fEqContext