úÎö•}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|None&(04..->(..)#Expects to be wrapped in parens)Only considers Abs, App and Var*  !"#$%&'()(  !"#$%&'*) ( !"#$%&'  !"#$%&'()None04*+,-./0123456789:;<=>?*+,-./0123456789:;<=>3456012789-./?:;<*+,=> *+,-./0123456789:;<=>?None&4BMore technical shared data @ABCDEFGH @ABCDEFGH BCDEFGA@H@ABCDEFGHNone&04eWe're working in an implicitly quantified prenex-polymorphic type system, so trivial type expressions are also type schemes.p.Substitute n for t, given there's no collisions=Where we don't want to include variables bound by our contextt(Replaces bound variables with fresh ones4IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|.IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv4efghi_`cdab|j\]^k[ZlWXY{TUVzyPQRSxmnopLMNOqrwstuIJKvIJKLMNOPQRSTUVWXYZ[\]^_`cdabefghijklmnopqrstuvwxyz{|}      !"#$%&'()*+,-./01234567889:;<=>?@ABCDEFFGHIJKLMNOOPQRRSTUVWXXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|3Y43VbEwmIMLlvu5mPjQjY LText.ExprLText.DocumentApplication.Types LText.TypeLexemeLambdaArrowIdent Bracketed getBracketed MonadParse ParseErrorBracketsInsideLambdaLambdaInsideLambdaLambdaInStaleScopeArrowWithoutLambda ArrowInScopeEmptyExpression LexerError ParseState InsideLambdaScopeScopeUseFreshStaleMonadPrettyPrintExprAbsAppVarLitConcatppExprinitParseStatehandleParseErrorrunParse runParserT parseExprexprlexlambdaarrowident bracketed$fExceptionParseError$fArbitraryExprPrintabilityMode InsideConcat InsideExpr PrintErrorConcatExprTextNoExplicitDelimiters DocumentBodyRawText ExpressionDocument documentArity documentBody parseDocument printDocument fromDocumenthandlePrintError toDocumenthasConcatAbsLit fetchDocument rawDocument$fExceptionPrintErrorAppMMonadAppEnv topLevelExpr isTypeQueryrawTermsdelimsrunAppMExprTypeTopLevelDocLevelContext contextMap contextFreshScheme schemeQuant schemeTypeIsType freeTVars applySubstSubstgetSubst TypeCheckMMonadTypecheckTypeEnvplaintextFiles TypeError CantUnify expectedType givenTypeUnboundVariableOccursCheckFailureTypeTextTVarTArrowppTypehandleTypeError toTypeEnv runTypeCheckM freshTVarsomewhatFreshTVarmostGeneralUnifiervarBind initContext removeTVarquantify unQuantifytypeOfTopLevel typeInfer$fIsTypeContext$fIsTypeScheme $fIsTypeType $fIsType[] $fMonoidSubst$fExceptionTypeError