From 87fd8ccfc4c4958f938a99189a862af84a37f179 Mon Sep 17 00:00:00 2001 From: gnumonik Date: Tue, 26 Mar 2024 18:41:31 -0400 Subject: [PATCH] basic PLC test infrastructure --- purescript.cabal | 6 +++- .../PureScript/CoreFn/Convert/ToPIR.hs | 31 ++++++++++++------ src/Language/PureScript/CoreFn/Expr.hs | 10 ++++++ tests/TestPurus.hs | 17 ++++++++-- tests/purus/passing/Misc/Lib.purs | 5 +++ .../passing/Misc/output/Lib/externs.cbor | Bin 31939 -> 32320 bytes .../passing/Misc/output/Lib/fakeminus.plc | 1 - tests/purus/passing/Misc/output/Lib/index.cfn | 2 +- .../passing/Misc/output/Lib/index.cfn.pretty | 8 +++++ tests/purus/passing/Misc/output/Lib/main.plc | 1 - tests/purus/passing/Misc/output/cache-db.json | 2 +- 11 files changed, 65 insertions(+), 18 deletions(-) delete mode 100644 tests/purus/passing/Misc/output/Lib/fakeminus.plc delete mode 100644 tests/purus/passing/Misc/output/Lib/main.plc diff --git a/purescript.cabal b/purescript.cabal index 0e128631..849ae6db 100644 --- a/purescript.cabal +++ b/purescript.cabal @@ -209,6 +209,8 @@ common defaults sourcemap >=0.1.7 && <0.2, stm >=2.5.0.2 && <2.6, stringsearch >=0.3.6.6 && <0.4, + tasty, + tasty-hunit, template-haskell >=2.18.0.0 && <2.19, text >=1.2.5.0 && <2.3, th-abstraction, @@ -255,7 +257,7 @@ library Language.PureScript.CoreFn.Convert.DesugarObjects Language.PureScript.CoreFn.Convert.Plated Language.PureScript.CoreFn.Convert.IR - Language.PureScript.CoreFn.Convert.ToPIR + Language.PureScript.CoreFn.Convert.ToPIR Language.PureScript.CoreFn.CSE Language.PureScript.CoreFn.Desugar Language.PureScript.CoreFn.Desugar.Utils @@ -483,11 +485,13 @@ test-suite tests build-depends: purescript, purs-lib, + flat, generic-random >=1.5.0.1 && <1.6, hspec >= 2.10.7 && < 3, HUnit >=1.6.2.0 && <1.7, newtype >=0.2.2.0 && <0.3, QuickCheck >=2.14.2 && <2.15, + plutus-core, regex-base >=0.94.0.2 && <0.95, split >=0.2.3.4 && <0.3, typed-process >=0.2.10.1 && <0.3 diff --git a/src/Language/PureScript/CoreFn/Convert/ToPIR.hs b/src/Language/PureScript/CoreFn/Convert/ToPIR.hs index 751b2a61..a31ea169 100644 --- a/src/Language/PureScript/CoreFn/Convert/ToPIR.hs +++ b/src/Language/PureScript/CoreFn/Convert/ToPIR.hs @@ -48,6 +48,11 @@ import PlutusCore qualified as PLC import Control.Exception import Data.List (sortOn) import Control.Lens ((&),(.~),ix) +import PlutusCore.Evaluation.Machine.Ck +import PlutusCore.Evaluation.Machine.ExBudgetingDefaults qualified as PLC +import Test.Tasty +import Test.Tasty.HUnit + type PLCProgram uni fun a = PLC.Program PLC.TyName PLC.Name uni fun (Provenance a) fuckThisMonadStack :: @@ -66,11 +71,24 @@ fuckThisMonadStack x = join $ flip runReader ctx $ runQuoteT $ runExceptT $ runExceptT x in first show res +runPLCProgram :: PLCProgram DefaultUni DefaultFun () -> (EvaluationResult (PLC.Term TyName Name DefaultUni DefaultFun ()),[Text]) +runPLCProgram (PLC.Program a b c) = unsafeEvaluateCk PLC.defaultBuiltinsRuntime $ void c + +runPLCProgramTest :: String + -> (EvaluationResult (PLC.Term TyName Name DefaultUni DefaultFun ()),[Text]) + -> FilePath + -> Text + -> TestTree +runPLCProgramTest testName expected path decl = testCase testName $ do + prog <- declToUPLC path decl + let out = runPLCProgram prog + assertEqual "program output matches expected " expected out -runPIR :: FilePath + +declToUPLC :: FilePath -> Text -> IO (PLCProgram DefaultUni DefaultFun ()) -runPIR path decl = prepPIR path decl >>= \case +declToUPLC path decl = prepPIR path decl >>= \case (mainExpr,dict) -> do tcMap <- rethrowIO $ mkTyConMap dict ctorMap <- rethrowIO $ mkConstructorMap dict @@ -281,8 +299,6 @@ toPIR f = \case assembleScrutinee :: PIRTerm -> Ty -> [Alt Exp x] -> State ConvertState (Term TyName Name DefaultUni DefaultFun ()) assembleScrutinee scrut tx alts = do let _binders = IR.getPat <$> alts - -- TODO: remove when implementing multi scrutinee - binders = map head _binders alted <- unzip <$> traverse (locally . goAlt tx) alts let sopSchema = head . fst $ alted ctorNumberedBranches = snd alted @@ -329,18 +345,13 @@ toPIR f = \case goCtorArgs [(t,VarP nm)] = do nm' <- mkTermName (runIdent nm) t' <- toPIRType t - pure $ LamAbs () nm' t' undefined + pure $ LamAbs () nm' t' res goCtorArgs ((t,VarP nm):rest) = do nm' <- mkTermName (runIdent nm) t' <- toPIRType t rest' <- goCtorArgs rest pure $ LamAbs () nm' t' rest' - - - - - -- NOTE: We don't have force/delay in PIR so I think we have to use type abstraction/instantiation -- force ((\cond -> IfThenElse cond (delay caseT) (delay caseF)) cond) -- TyInst _ diff --git a/src/Language/PureScript/CoreFn/Expr.hs b/src/Language/PureScript/CoreFn/Expr.hs index 63dc01e1..49d556fa 100644 --- a/src/Language/PureScript/CoreFn/Expr.hs +++ b/src/Language/PureScript/CoreFn/Expr.hs @@ -19,6 +19,16 @@ import Control.Lens (Traversal', Lens') type PurusType = SourceType -- Type () +{- TODO: IMPORTANT!!!! + + REMOVE THE TYPE ANNOTATION FROM APPLICATIONS. + + I don't know why I did that but it's never necessary and it is the source of + endless stupid problems. + + +-} + -- | -- Data type for expressions and terms -- diff --git a/tests/TestPurus.hs b/tests/TestPurus.hs index 47c7b09f..d72a0280 100644 --- a/tests/TestPurus.hs +++ b/tests/TestPurus.hs @@ -13,15 +13,26 @@ import System.FilePath.Glob qualified as Glob import Data.Function (on) import Data.List (sort, sortBy, stripPrefix, groupBy, find) import Control.Exception.Base -import Language.PureScript.CoreFn.Convert.ToPIR (runPIR) +import Language.PureScript.CoreFn.Convert.ToPIR +import PlutusCore.Core +import Test.Tasty +import PlutusCore.Evaluation.Machine.Ck (EvaluationResult(..)) +import PlutusCore +import PlutusCore.Default shouldPassTests :: IO () shouldPassTests = do traverse_ runPurusDefault shouldPass let misc = "./tests/purus/passing/Misc/output/Lib/index.cfn" - uplc1 <- runPIR misc "main" + uplc1 <- declToUPLC misc "main" + defaultMain $ + runPLCProgramTest + "mainTest" + (EvaluationSuccess (Constant () (Some (ValueOf DefaultUniInteger 2))),[]) + misc + "main" writeFile "./tests/purus/passing/Misc/output/Lib/main.plc" (show uplc1) - uplc2 <- runPIR misc "minus" + uplc2 <- declToUPLC misc "minus" writeFile "./tests/purus/passing/Misc/output/Lib/fakeminus.plc" (show uplc2) runPurus :: P.CodegenTarget -> FilePath -> IO () diff --git a/tests/purus/passing/Misc/Lib.purs b/tests/purus/passing/Misc/Lib.purs index 5f1e5c12..5b227193 100644 --- a/tests/purus/passing/Misc/Lib.purs +++ b/tests/purus/passing/Misc/Lib.purs @@ -117,6 +117,11 @@ aStringLit = "woop" aVal :: Int aVal = 1 +testasum :: ASum -> Int +testasum x = case x of + Constr1 y -> 1 + Constr2 z -> 2 + aBool :: Boolean aBool = true diff --git a/tests/purus/passing/Misc/output/Lib/externs.cbor b/tests/purus/passing/Misc/output/Lib/externs.cbor index 872ce4b26d2cf58423cad3fb0e9432f6999f9dd9..ba1fffb5d8341d771f306665f9743fee66a9963b 100644 GIT binary patch delta 2233 zcmZ`)O-Ni<6rLCL-S( z^Ugi<)8ER=f0eZs<#0V5%s%8*i;n)tqsvQ<^#U)heIG>gI;0#ziE;()r%D(tD9DEc zr2(yW;wst?PW*y4Cxg%%8J%e38K0wlBUXZ$*U_KPyoGiz^CPrnSxsoWvPkFatj1ii z@z7*sV$ztHdI+0YJ_Po&LQDV=15D@TJmC);9aE$Ilfz$(TC91MM1BW^H18JRTXakK}Ab#t%;7{pD;^4qr56SKiW(-LL7AHgj^x!Dl!JrSy`{ z(@|Tcm(3IsAyMLx9AvX`vl8mRG^I8l8N@Y;7*sH%{g&l zt^i(h7kt+hWD6886oGNOMip)z?9CQKZFhybkWUa4+;_uRcTii-#c-L2AYAX)mwAbZ zPJ>e3j1jjmJgpN+c8JG4M%}#L$}9|iy=+J zx{`+rE3n_=vt6^-$5x7H)op(P8=CKJR#!YC0a==Kd8u7ceTAPUkiQ4fzB1@GyxJSMQ%z$Kh_vLyc)d^zM2&G#@EE@$z-N(8wn4|=C=~U$aL>!0Q2c~q7mVEV zYjJAHI6qB2r^e~paabD)t8tfb&kp)D=^_P>uSp8N8f-P2v_Dv@$N4EsXe&|#r9%x` zf|L`Ma)Oi-LODUo2_R+ZTFR1QDO)5`P6%ZZBIUi|W_a^}L;3xBHL0Ug5;n_f7`Oa| z2R@dhhn>u`dxuFV2co@AYLZ@@og#gaLT5^Pj#30vB%2{wEONpl9h!7`i6~!UB&Q+hS_#DExX~j&q8dQrVILG4NYvDrpLAi)^2%K=~JpI zDX=zrL*1dFumf~T>E@B3wnN`>2m2ZowH>N11t_WGuZT)WlvxqwAJNuFJL#zUdajQfd>ryaUd^PP5D+8E>L~n67zzkNMCn<-0L>Q&@p-7*ygj;^vLxKZa~}<86pbOJrT1b+)XOGD1f z6n)K9F%1DVMf;|p^Gly5U0yBTw#}jUBY}9-+lM$Sob;Iv7)tGlt9L)20@14xCcOt$QZ)bm2=x_NyGgP=+ delta 2041 zcmZ`)OH5l=5ascC?-?8jgwKTpl9r_WjB5f02aJQMsx-e6OI6hmN_Yt_A%JU$p)o8<@z?nSXrJbPh_E9L@e~^S zMvJLfVxis6Sl&mwY@szNi@St5qror7!)F5nS8tfyzCv%Nrb|=)VKe%$u*>B8CxW5y zzG@vsUS(%Nj3|+=fD_j)g&x|d$+6L!QeaE+(Akmf|U#9 z@b{ooj~1gJ6)uRn+AL8~!`=~yTybkrA;^Q(%XZ8#MxJuXh8gBT>E(WFCQ}_TZh`Ma z3npv#En_T~p$L9y+^hpOnkrzTucbID>Nw(vL=__p8^=kznU~+W;=u)tG7Zss+ddC# zK#zIChGKnKg=98GQ07GgRnf{aKMnOGb~1iBCu-+ zpH@hTLO48ZQ)46(gNwuMmKg656UVvlrU%L4UM(h$5$hYj2T2VCg`3;7=h4P7(aB;z z`}?yzCy8afMi~0QQx@X}#)Km>pEIBHoiP66HpaM(G1&N`*BTS;yiG^Mm@<>6Slc$@ z)0U~`<+AKKei*T7D->IivA;&z)Hsc09FARY*W+~VxDYgGYP_7|z8m%oe0JTwN5Su# zi7R98YH?A`^o7y$YJwCKte7ChgsGSy#RQO|2}vYJShkt;JA0(tI4nx{xy2kby}XGODySB&^maJ_QBFvH5Au1p+uGB z1}fp%1n#uw)&@N4eRA)E5jdl5(J8ko>8q&{!*1ZTwpB#o3aI(mrEQf-{GhW(+p3WC ze>!bhOrwzD1g9&YKIl}p>FRF-)~5@JOK24IZTf86IFl%>Z&O>zL1hd6vR4D7ZF(eN z5m_Fo|1s&*lcb&$JZqYCSYAz%d=l-rmB+oV{@ZRrvG`1!U zZv=itTtv4Z2};O;_yl8D$cva>ha^No-H6*5KMwWc>JGwK7M@_AN3E6BKw#RZJ)!IR zq>`uk`E;9_qA!qw(iyuhAjtEp0^=YDnWK$_+!Et=_pGx&i^ z)8|Q7(d6rC+6S}zU}POq&am*1g)&hdK>>VVEopv>%~kt6UdH`M!@ZML@MlkpW^(BP z%Q9#^vtah=8(3?%gKx~(H*d}Ts^sC{-TzPt Beu4l1 diff --git a/tests/purus/passing/Misc/output/Lib/fakeminus.plc b/tests/purus/passing/Misc/output/Lib/fakeminus.plc deleted file mode 100644 index b128c4f5..00000000 --- a/tests/purus/passing/Misc/output/Lib/fakeminus.plc +++ /dev/null @@ -1 +0,0 @@ -Program {_progAnn = Original (), _progVer = Version {_versionMajor = 1, _versionMinor = 1, _versionPatch = 0}, _progTerm = LamAbs (Original ()) (Name {_nameText = "v", _nameUnique = Unique {unUnique = 86}}) (TyBuiltin (Original ()) (SomeTypeIn DefaultUniInteger)) (LamAbs (Original ()) (Name {_nameText = "v1", _nameUnique = Unique {unUnique = 87}}) (TyBuiltin (Original ()) (SomeTypeIn DefaultUniInteger)) (Constant (Original ()) (Some (ValueOf DefaultUniInteger 42))))} \ No newline at end of file diff --git a/tests/purus/passing/Misc/output/Lib/index.cfn b/tests/purus/passing/Misc/output/Lib/index.cfn index e3e9a8b8..16321688 100644 --- a/tests/purus/passing/Misc/output/Lib/index.cfn +++ b/tests/purus/passing/Misc/output/Lib/index.cfn @@ -1 +1 @@ -{"builtWith":"0.0.1","comments":[],"dataTypes":{"ADataRec":["data",[],[{"dataCtorAnn":[{"end":[104,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,15]},[]],"dataCtorFields":[[{"Ident":"value0"},{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,26]},[]],"contents":[{"annotation":[{"end":[104,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,26]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,27]},[]],"contents":["hello",{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,36]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,41]},[]],"contents":["world",{"annotation":[{"end":[104,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,50]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,57]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"}]],"dataCtorName":"ADataRec"}]],"ANewtypeRec":["newtype",[],[{"dataCtorAnn":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,21]},[]],"dataCtorFields":[[{"Ident":"value0"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[{"annotation":[{"end":[106,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,36]},[]],"contents":["foo",{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,43]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,46]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}]],"dataCtorName":"ANewTypeRec"}]],"ASum":["data",[],[{"dataCtorAnn":[{"end":[108,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,11]},[]],"dataCtorFields":[[{"Ident":"value0"},{"annotation":[{"end":[108,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,21]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}]],"dataCtorName":"Constr1"},{"dataCtorAnn":[{"end":[108,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,25]},[]],"dataCtorFields":[[{"Ident":"value0"},{"annotation":[{"end":[108,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,35]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}]],"dataCtorName":"Constr2"}]],"Eq$Dict":["newtype",[["a",null]],[{"dataCtorAnn":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[5,1]},[{"BlockComment":" Type Classes "},{"LineComment":" Single Param"}]],"dataCtorFields":[[{"Ident":"dict"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}]],"dataCtorName":"Eq$Dict"}]],"Eq2$Dict":["newtype",[["a",null],["b",null]],[{"dataCtorAnn":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[29,1]},[{"LineComment":" Multi Param"}]],"dataCtorFields":[[{"Ident":"dict"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}]],"dataCtorName":"Eq2$Dict"}]]},"decls":[{"annotation":{"meta":{"metaType":"IsTypeClassConstructor"},"sourceSpan":{"end":[30,27],"start":[29,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[30,27],"start":[29,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[29,1]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"x","sourcePos":[0,0]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"b","kind":null,"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"Eq2$Dict"},{"annotation":{"meta":{"metaType":"IsTypeClassConstructor"},"sourceSpan":{"end":[6,26],"start":[5,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[6,26],"start":[5,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[5,1]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"x","sourcePos":[0,0]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"Eq$Dict"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConInt","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[42,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[42,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConInt"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConInts","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[43,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[43,14]},[]],"contents":[{"annotation":[{"end":[43,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[43,14]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[43,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[43,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConInts"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConBoolean","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[44,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[44,16]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConBoolean"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConString","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[45,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[45,15]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConString"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConChar","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[46,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[46,13]},[]],"contents":[["Prim"],"Char"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConChar"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConNested","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConNested"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConQuantified","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,20]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[48,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":[{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":[{"annotation":[{"end":[48,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[48,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,35]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConQuantified"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConConstrained","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,21]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[49,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,31]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,34]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,43],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,41]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,44]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConConstrained"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConObject","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,15]},[]],"contents":[{"annotation":[{"end":[50,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,15]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,16]},[]],"contents":["objField",{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,31]},[]],"contents":[{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,31]},[]],"tag":"REmpty"},{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConObject"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConObjectQuantified","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,25]},[]],"contents":[{"annotation":[{"end":[51,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,25]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,26]},[]],"contents":["objFieldQ",{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,39]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,50],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,54]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,57]},[]],"contents":[{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,57]},[]],"tag":"REmpty"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,39]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConObjectQuantified"},{"annotation":{"meta":null,"sourceSpan":{"end":[108,42],"start":[108,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[108,42],"start":[108,1]}},"constructorName":"Constr1","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[108,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,21]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"ASum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"ASum"},"identifier":"Constr1"},{"annotation":{"meta":null,"sourceSpan":{"end":[108,42],"start":[108,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[108,42],"start":[108,1]}},"constructorName":"Constr2","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[108,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,35]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"ASum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"ASum"},"identifier":"Constr2"},{"annotation":{"meta":null,"sourceSpan":{"end":[106,47],"start":[106,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[106,47],"start":[106,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[106,47],"start":[106,1]}},"kind":"Var","type":{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[{"annotation":[{"end":[106,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,36]},[]],"contents":["foo",{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,43]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,46]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"x","sourcePos":[0,0]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[{"annotation":[{"end":[106,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,36]},[]],"contents":["foo",{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,43]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,46]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[{"annotation":[{"end":[106,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,36]},[]],"contents":["foo",{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,43]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,46]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"ANewTypeRec"},{"annotation":{"meta":null,"sourceSpan":{"end":[104,58],"start":[104,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[104,58],"start":[104,1]}},"constructorName":"ADataRec","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,26]},[]],"contents":[{"annotation":[{"end":[104,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,26]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,27]},[]],"contents":["hello",{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,36]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,41]},[]],"contents":["world",{"annotation":[{"end":[104,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,50]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,57]},[]],"contents":[{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,57]},[]],"tag":"REmpty"},{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,36]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"ADataRec"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"ADataRec"},"identifier":"ADataRec"},{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[11,1]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[12,16],"start":[11,1]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"Eq$Dict","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[11,1]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[11,1]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["eq",{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[12,3]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[12,3]}},"argument":"v1","body":{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[12,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":true}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}}]]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"eqInt"},{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[32,1]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[33,17],"start":[32,1]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"Eq2$Dict","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[32,1]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[32,1]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["eq2",{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[33,3]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[33,3]}},"argument":"v1","body":{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[33,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":true}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}}]]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"eq2IntBoolean"},{"annotation":{"meta":null,"sourceSpan":{"end":[158,19],"start":[158,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[159,33],"start":[159,15]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"addInteger","moduleName":["Builtin"]}},"annotation":{"meta":null,"sourceSpan":{"end":[159,35],"start":[159,15]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[159,35],"start":[159,34]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[159,37],"start":[159,15]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[159,37],"start":[159,36]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"testBuiltin"},{"annotation":{"meta":null,"sourceSpan":{"end":[53,37],"start":[53,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[68,17],"start":[54,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[68,17],"start":[54,17]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[55,15],"start":[55,3]}},"binder":{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[55,14],"start":[55,6]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[55,14],"start":[55,13]}},"binderType":"LiteralBinder","literal":{"literalType":"IntLiteral","value":3}}],"constructorName":{"identifier":"ConInt","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}},"binderType":"NamedBinder","identifier":"a"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[55,21],"start":[55,20]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[56,11],"start":[56,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[56,11],"start":[56,10]}},"binderType":"VarBinder","identifier":"a"}],"constructorName":{"identifier":"ConInt","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[56,16],"start":[56,15]}},"kind":"Var","type":{"annotation":[{"end":[42,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[42,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"a","sourcePos":[56,10]}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[57,29],"start":[57,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[57,15],"start":[57,12]}},"binderType":"LiteralBinder","literal":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[57,14],"start":[57,13]}},"binderType":"LiteralBinder","literal":{"literalType":"IntLiteral","value":3}}]}}],"constructorName":{"identifier":"ConInts","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[57,34],"start":[57,33]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[58,16],"start":[58,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[58,16],"start":[58,11]}},"binderType":"LiteralBinder","literal":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[58,13],"start":[58,12]}},"binderType":"VarBinder","identifier":"a"},{"annotation":{"meta":null,"sourceSpan":{"end":[58,15],"start":[58,14]}},"binderType":"VarBinder","identifier":"b"}]}}],"constructorName":{"identifier":"ConInts","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[58,21],"start":[58,20]}},"kind":"Var","type":{"annotation":[{"end":[43,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[43,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"b","sourcePos":[58,14]}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[59,18],"start":[59,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[59,18],"start":[59,14]}},"binderType":"LiteralBinder","literal":{"literalType":"BooleanLiteral","value":true}}],"constructorName":{"identifier":"ConBoolean","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[59,24],"start":[59,23]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[60,15],"start":[60,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[60,15],"start":[60,11]}},"binderType":"LiteralBinder","literal":{"literalType":"CharLiteral","value":"\n"}}],"constructorName":{"identifier":"ConChar","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[60,20],"start":[60,19]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[61,23],"start":[61,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[61,22],"start":[61,14]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[61,22],"start":[61,21]}},"binderType":"LiteralBinder","literal":{"literalType":"IntLiteral","value":2}}],"constructorName":{"identifier":"ConInt","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"constructorName":{"identifier":"ConNested","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[61,28],"start":[61,27]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":6}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[62,18],"start":[62,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[62,18],"start":[62,17]}},"binderType":"VarBinder","identifier":"f"}],"constructorName":{"identifier":"ConQuantified","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[62,23],"start":[62,22]}},"kind":"Var","type":{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,20]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[48,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":[{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":[{"annotation":[{"end":[48,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[48,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,35]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"f","sourcePos":[62,17]}},"annotation":{"meta":null,"sourceSpan":{"end":[62,31],"start":[62,22]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[62,31],"start":[62,24]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"hello"}},"kind":"App","type":{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,35]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[63,19],"start":[63,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[63,19],"start":[63,18]}},"binderType":"VarBinder","identifier":"f"}],"constructorName":{"identifier":"ConConstrained","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[63,24],"start":[63,23]}},"kind":"Var","type":{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,21]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[49,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,31]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,34]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,43],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,41]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,44]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"f","sourcePos":[63,18]}},"annotation":{"meta":null,"sourceSpan":{"end":[63,26],"start":[63,23]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,43],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,41]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,44]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[63,26],"start":[63,23]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[63,26],"start":[63,25]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,44]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[64,18],"start":[64,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[64,18],"start":[64,13]}},"binderType":"VarBinder","identifier":"other"}],"constructorName":{"identifier":"ConNested","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[64,23],"start":[64,22]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":7}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[65,16],"start":[65,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[65,16],"start":[65,13]}},"binderType":"VarBinder","identifier":"obj"}],"constructorName":{"identifier":"ConObject","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[65,32],"start":[65,20]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[65,23],"start":[65,20]}},"kind":"Var","type":{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,15]},[]],"contents":[{"annotation":[{"end":[50,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,15]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,16]},[]],"contents":["objField",{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,31]},[]],"contents":[{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,31]},[]],"tag":"REmpty"},{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"obj","sourcePos":[65,13]}},"fieldName":"objField","kind":"Accessor","type":{"annotation":[{"end":[53,37],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,34]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[66,27],"start":[66,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[66,27],"start":[66,23]}},"binderType":"VarBinder","identifier":"objQ"}],"constructorName":{"identifier":"ConObjectQuantified","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[66,45],"start":[66,31]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[66,35],"start":[66,31]}},"kind":"Var","type":{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,25]},[]],"contents":[{"annotation":[{"end":[51,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,25]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,26]},[]],"contents":["objFieldQ",{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,39]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,50],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,54]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,57]},[]],"contents":[{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,57]},[]],"tag":"REmpty"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,39]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"objQ","sourcePos":[66,23]}},"fieldName":"objFieldQ","kind":"Accessor","type":{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,54]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[66,53],"start":[66,31]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[66,53],"start":[66,46]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"world"}},"kind":"App","type":{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,54]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[67,26],"start":[67,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[67,26],"start":[67,13]}},"binderType":"LiteralBinder","literal":{"literalType":"ObjectLiteral","value":[["objField",{"annotation":{"meta":null,"sourceSpan":{"end":[67,25],"start":[67,24]}},"binderType":"VarBinder","identifier":"f"}]]}}],"constructorName":{"identifier":"ConObject","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[67,31],"start":[67,30]}},"kind":"Var","type":{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"f","sourcePos":[67,24]}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[68,4],"start":[68,3]}},"binderType":"NullBinder"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[68,17],"start":[68,16]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":0}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[54,23],"start":[54,22]}},"kind":"Var","type":{"annotation":[{"end":[53,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,16]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[54,1]}}],"kind":"Case","type":{"annotation":[{"end":[53,37],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,34]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[53,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,16]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[53,37],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,34]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"testBinders"},{"bindType":"Rec","binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[155,28],"start":[155,1]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[156,18],"start":[156,1]}},"argument":"x","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[156,16],"start":[156,11]}},"kind":"Var","type":{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,10]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[152,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":9,"type":{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,20]},[]],"contents":[{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,20]},[]],"contents":[{"annotation":[{"end":[152,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,22]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[152,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,20]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"recF1","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[156,18],"start":[156,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[156,18],"start":[156,17]}},"kind":"Var","type":{"annotation":[{"end":[155,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,20]},[]],"contents":"x","tag":"TypeVar"},"value":{"identifier":"x","sourcePos":[156,1]}},"kind":"App","type":{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[155,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,10]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[155,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":7,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[155,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,20]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[155,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"recG1"},{"annotation":{"meta":null,"sourceSpan":{"end":[152,28],"start":[152,1]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[153,18],"start":[153,1]}},"argument":"x","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[153,16],"start":[153,11]}},"kind":"Var","type":{"annotation":[{"end":[155,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,10]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[155,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":6,"type":{"annotation":[{"end":[155,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,20]},[]],"contents":[{"annotation":[{"end":[155,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,20]},[]],"contents":[{"annotation":[{"end":[155,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,22]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[155,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,20]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[155,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"recG1","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[153,18],"start":[153,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[153,18],"start":[153,17]}},"kind":"Var","type":{"annotation":[{"end":[152,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,20]},[]],"contents":"x","tag":"TypeVar"},"value":{"identifier":"x","sourcePos":[153,1]}},"kind":"App","type":{"annotation":[{"end":[155,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[155,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,10]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[152,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":10,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[152,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,20]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"recF1"}]},{"annotation":{"meta":null,"sourceSpan":{"end":[188,53],"start":[188,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsWhere"},"sourceSpan":{"end":[189,33],"start":[189,13]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[191,29],"start":[191,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[192,13],"start":[192,5]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[192,13],"start":[192,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"kind":"Abs","type":{"annotation":[{"end":[191,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,11]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[191,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,23]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":14,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[191,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,21]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[191,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"go"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[189,33],"start":[189,13]}},"kind":"Literal","type":{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,14]},[]],"contents":[{"annotation":[{"end":[188,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,15]},[]],"contents":["bar",{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,22]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[188,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,34]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":12,"type":{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":[{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":[{"annotation":[{"end":[188,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,34]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,33],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[188,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,42]},[]],"contents":["baz",{"annotation":[{"end":[188,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,49]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,52]},[]],"contents":[{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,52]},[]],"tag":"REmpty"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["baz",{"annotation":{"meta":null,"sourceSpan":{"end":[189,32],"start":[189,29]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":100}}],["bar",{"annotation":{"meta":null,"sourceSpan":{"end":[189,21],"start":[189,19]}},"kind":"Var","type":{"annotation":[{"end":[191,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,11]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[191,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,23]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":14,"type":{"annotation":[{"end":[191,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,21]},[]],"contents":[{"annotation":[{"end":[191,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,21]},[]],"contents":[{"annotation":[{"end":[191,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,23]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[191,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,21]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[191,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[191,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"go","sourcePos":[191,5]}}]]}},"kind":"Let","type":{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,14]},[]],"contents":[{"annotation":[{"end":[188,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,15]},[]],"contents":["bar",{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,22]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[188,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,34]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":12,"type":{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":[{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":[{"annotation":[{"end":[188,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,34]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,33],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[188,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,42]},[]],"contents":["baz",{"annotation":[{"end":[188,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,49]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,52]},[]],"contents":[{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,52]},[]],"tag":"REmpty"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"}},"identifier":"polyInObj"},{"annotation":{"meta":null,"sourceSpan":{"end":[194,22],"start":[194,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[196,32],"start":[195,18]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[196,19],"start":[196,3]}},"binderType":"LiteralBinder","literal":{"literalType":"ObjectLiteral","value":[["bar",{"annotation":{"meta":null,"sourceSpan":{"end":[196,10],"start":[196,9]}},"binderType":"VarBinder","identifier":"f"}],["baz",{"annotation":{"meta":null,"sourceSpan":{"end":[196,18],"start":[196,17]}},"binderType":"NullBinder"}]]}}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[196,24],"start":[196,23]}},"kind":"Var","type":{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,22]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[188,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,34]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":12,"type":{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":[{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":[{"annotation":[{"end":[188,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,34]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,33],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"f","sourcePos":[196,9]}},"annotation":{"meta":null,"sourceSpan":{"end":[196,32],"start":[196,23]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[196,32],"start":[196,25]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"hello"}},"kind":"App","type":{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[195,32],"start":[195,23]}},"kind":"Var","type":{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,14]},[]],"contents":[{"annotation":[{"end":[188,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,15]},[]],"contents":["bar",{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,22]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[188,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,34]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":12,"type":{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":[{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":[{"annotation":[{"end":[188,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,34]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,33],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,32]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[188,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,42]},[]],"contents":["baz",{"annotation":[{"end":[188,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,49]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,52]},[]],"contents":[{"annotation":[{"end":[188,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,52]},[]],"tag":"REmpty"},{"annotation":[{"end":[188,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[188,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"polyInObj","moduleName":["Lib"]}}],"kind":"Case","type":{"annotation":[{"end":[194,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[194,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"polyInObjMatch"},{"annotation":{"meta":null,"sourceSpan":{"end":[163,26],"start":[163,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[164,34],"start":[164,1]}},"argument":"a","body":{"annotation":{"meta":null,"sourceSpan":{"end":[164,34],"start":[164,1]}},"argument":"b","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[164,30],"start":[164,12]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"addInteger","moduleName":["Builtin"]}},"annotation":{"meta":null,"sourceSpan":{"end":[164,32],"start":[164,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[164,32],"start":[164,31]}},"kind":"Var","type":{"annotation":[{"end":[163,12],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,9]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"a","sourcePos":[164,1]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[164,34],"start":[164,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[164,34],"start":[164,33]}},"kind":"Var","type":{"annotation":[{"end":[163,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"b","sourcePos":[164,1]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[163,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[163,12],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,9]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[{"annotation":[{"end":[163,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,20]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[163,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"plus"},{"annotation":{"meta":null,"sourceSpan":{"end":[90,19],"start":[90,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[101,7],"start":[92,3]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[95,41],"start":[95,8]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[96,15],"start":[96,8]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[96,15],"start":[96,14]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"kind":"Abs","type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,13]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[95,30],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,26]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":17,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[95,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,33]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,38]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"g"},{"annotation":{"meta":null,"sourceSpan":{"end":[92,23],"start":[92,8]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[93,15],"start":[93,8]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[93,15],"start":[93,14]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[92,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"f"},{"annotation":{"meta":null,"sourceSpan":{"end":[100,18],"start":[98,8]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[100,18],"start":[98,12]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[98,29],"start":[98,16]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[98,21],"start":[98,20]}},"kind":"Var","type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,13]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[95,30],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,26]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":17,"type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,33]},[]],"contents":[{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,33]},[]],"contents":[{"annotation":[{"end":[95,37],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,35]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[95,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,33]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,38]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"g","sourcePos":[95,8]}},"annotation":{"meta":null,"sourceSpan":{"end":[98,29],"start":[98,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[98,29],"start":[98,22]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"hello"}},"kind":"App","type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,38]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"i"},{"annotation":{"meta":null,"sourceSpan":{"end":[99,23],"start":[99,16]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[99,21],"start":[99,20]}},"kind":"Var","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[{"annotation":[{"end":[92,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[92,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f","sourcePos":[92,8]}},"annotation":{"meta":null,"sourceSpan":{"end":[99,23],"start":[99,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[99,23],"start":[99,22]}},"kind":"Var","type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,38]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"i","sourcePos":[98,16]}},"kind":"App","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"j"}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[100,16],"start":[100,15]}},"kind":"Var","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[{"annotation":[{"end":[92,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[92,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f","sourcePos":[92,8]}},"annotation":{"meta":null,"sourceSpan":{"end":[100,18],"start":[100,15]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[100,18],"start":[100,17]}},"kind":"Var","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"j","sourcePos":[99,16]}},"kind":"App","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"h"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[101,7],"start":[101,6]}},"kind":"Var","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"h","sourcePos":[98,8]}},"kind":"Let","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"nestedBinds"},{"annotation":{"meta":null,"sourceSpan":{"end":[170,26],"start":[170,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsWhere"},"sourceSpan":{"end":[171,39],"start":[171,22]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[173,14],"start":[173,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[173,14],"start":[173,5]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[173,14],"start":[173,5]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[173,14],"start":[173,13]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[173,5]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"i"},{"annotation":{"meta":null,"sourceSpan":{"end":[178,13],"start":[176,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[177,8],"start":[177,7]}},"binderType":"LiteralBinder","literal":{"literalType":"IntLiteral","value":2}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[177,13],"start":[177,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[178,8],"start":[178,7]}},"binderType":"NullBinder"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[178,13],"start":[178,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"v","sourcePos":[0,0]}}],"kind":"Case","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"h"},{"annotation":{"meta":null,"sourceSpan":{"end":[175,12],"start":[175,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[175,12],"start":[175,5]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[175,12],"start":[175,11]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"g"},{"annotation":{"meta":null,"sourceSpan":{"end":[174,12],"start":[174,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[174,12],"start":[174,5]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[174,12],"start":[174,11]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[174,5]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"f"}],"expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[171,23],"start":[171,22]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"i","sourcePos":[173,5]}},"annotation":{"meta":null,"sourceSpan":{"end":[171,37],"start":[171,22]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[171,26],"start":[171,25]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f","sourcePos":[174,5]}},"annotation":{"meta":null,"sourceSpan":{"end":[171,36],"start":[171,25]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[171,29],"start":[171,28]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g","sourcePos":[175,5]}},"annotation":{"meta":null,"sourceSpan":{"end":[171,35],"start":[171,28]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[171,32],"start":[171,31]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"h","sourcePos":[176,5]}},"annotation":{"meta":null,"sourceSpan":{"end":[171,34],"start":[171,31]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[171,34],"start":[171,33]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[171,39],"start":[171,22]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[171,39],"start":[171,38]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"nestedApplications"},{"annotation":{"meta":null,"sourceSpan":{"end":[83,44],"start":[83,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[88,10],"start":[85,3]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[86,17],"start":[86,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[86,17],"start":[86,7]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[86,17],"start":[86,7]}},"argument":"y","body":{"annotation":{"meta":null,"sourceSpan":{"end":[86,17],"start":[86,16]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"y","sourcePos":[86,7]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"h'"},{"annotation":{"meta":null,"sourceSpan":{"end":[87,25],"start":[87,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[87,25],"start":[87,7]}},"argument":"y","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[87,16],"start":[87,14]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"h'","sourcePos":[86,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[87,23],"start":[87,14]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[87,20],"start":[87,18]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f'","sourcePos":[85,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[87,22],"start":[87,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[87,22],"start":[87,21]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"y","sourcePos":[87,7]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[87,25],"start":[87,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[87,25],"start":[87,24]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"g'"},{"annotation":{"meta":null,"sourceSpan":{"end":[85,18],"start":[85,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[85,18],"start":[85,7]}},"argument":"x","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[85,16],"start":[85,14]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g'","sourcePos":[87,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[85,18],"start":[85,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[85,18],"start":[85,17]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"f'"}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[88,8],"start":[88,6]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g'","sourcePos":[87,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[88,10],"start":[88,6]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[88,10],"start":[88,9]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"mutuallyRecursiveBindingGroupNoTypes"},{"annotation":{"meta":null,"sourceSpan":{"end":[72,37],"start":[72,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[80,9],"start":[74,3]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[76,29],"start":[76,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[77,16],"start":[77,7]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[77,16],"start":[77,7]}},"argument":"y","body":{"annotation":{"meta":null,"sourceSpan":{"end":[77,16],"start":[77,15]}},"kind":"Var","type":{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"y","sourcePos":[77,7]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,23]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"h"},{"annotation":{"meta":null,"sourceSpan":{"end":[78,22],"start":[78,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[79,22],"start":[79,7]}},"argument":"y","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[79,14],"start":[79,13]}},"kind":"Var","type":{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,12]},[]],"contents":[{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,12]},[]],"contents":[{"annotation":[{"end":[76,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,23]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"h","sourcePos":[76,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[79,20],"start":[79,13]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[79,17],"start":[79,16]}},"kind":"Var","type":{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,12]},[]],"contents":[{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,12]},[]],"contents":[{"annotation":[{"end":[74,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[74,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f","sourcePos":[74,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[79,19],"start":[79,16]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[79,19],"start":[79,18]}},"kind":"Var","type":{"annotation":[{"end":[78,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"y","sourcePos":[79,7]}},"kind":"App","type":{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,23]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[79,22],"start":[79,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[79,22],"start":[79,21]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"kind":"App","type":{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[78,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"g"},{"annotation":{"meta":null,"sourceSpan":{"end":[74,22],"start":[74,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[75,16],"start":[75,7]}},"argument":"x","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[75,14],"start":[75,13]}},"kind":"Var","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[{"annotation":[{"end":[78,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[78,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g","sourcePos":[78,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[75,16],"start":[75,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[75,16],"start":[75,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[74,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"f"}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[80,7],"start":[80,6]}},"kind":"Var","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[{"annotation":[{"end":[78,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[78,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g","sourcePos":[78,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[80,9],"start":[80,6]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[80,9],"start":[80,8]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"kind":"App","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"mutuallyRecursiveBindingGroup"},{"annotation":{"meta":null,"sourceSpan":{"end":[8,27],"start":[8,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[9,15],"start":[9,1]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[9,15],"start":[9,1]}},"argument":"v1","body":{"annotation":{"meta":null,"sourceSpan":{"end":[9,15],"start":[9,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":42}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,10]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"minus"},{"annotation":{"meta":null,"sourceSpan":{"end":[168,16],"start":[168,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[168,12],"start":[168,8]}},"kind":"Var","type":{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,9]},[]],"contents":[{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,9]},[]],"contents":[{"annotation":[{"end":[163,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,13]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[163,12],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,9]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[{"annotation":[{"end":[163,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,20]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[163,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"plus","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[168,14],"start":[168,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[168,14],"start":[168,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[{"annotation":[{"end":[163,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,20]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[163,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[168,16],"start":[168,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[168,16],"start":[168,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[163,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[163,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"main"},{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"argument":"dict","body":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[30,27],"start":[30,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"binderType":"VarBinder","identifier":"v"}],"constructorName":{"identifier":"Eq2$Dict","moduleName":["Lib"]},"typeName":{"identifier":"Eq2$Dict","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"v","sourcePos":[30,3]}},"fieldName":"eq2","kind":"Accessor","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},"value":{"identifier":"dict","sourcePos":[0,0]}}],"kind":"Case","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":19,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"b","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":18,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"visibility":"TypeVarVisible"},"tag":"ForAll"}},"identifier":"eq2"},{"annotation":{"meta":null,"sourceSpan":{"end":[35,19],"start":[35,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[36,14],"start":[36,11]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":19,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"b","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":18,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq2","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[36,18],"start":[36,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eq2IntBoolean","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[36,18],"start":[36,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[36,18],"start":[36,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":101}},"kind":"App","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[36,24],"start":[36,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[36,24],"start":[36,19]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":false}},"kind":"App","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}},"identifier":"testEq2"},{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"argument":"dict","body":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[6,26],"start":[6,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"binderType":"VarBinder","identifier":"v"}],"constructorName":{"identifier":"Eq$Dict","moduleName":["Lib"]},"typeName":{"identifier":"Eq$Dict","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"v","sourcePos":[6,3]}},"fieldName":"eq","kind":"Accessor","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},"value":{"identifier":"dict","sourcePos":[0,0]}}],"kind":"Case","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"}},"identifier":"eq"},{"annotation":{"meta":null,"sourceSpan":{"end":[14,18],"start":[14,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[15,12],"start":[15,10]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[15,14],"start":[15,10]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[15,14],"start":[15,10]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[15,14],"start":[15,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[15,16],"start":[15,10]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[15,16],"start":[15,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}},"identifier":"testEq"},{"annotation":{"meta":null,"sourceSpan":{"end":[18,26],"start":[18,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[19,1]}},"argument":"n","body":{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[20,5]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[20,5]}},"binderType":"LiteralBinder","literal":{"literalType":"BooleanLiteral","value":true}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[20,23],"start":[20,22]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[20,5]}},"binderType":"NullBinder"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[21,10]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":42}},"isGuarded":false}],"caseExpressions":[{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[20,13],"start":[20,11]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[20,16],"start":[20,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[20,16],"start":[20,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[20,9],"start":[20,8]}},"kind":"Var","type":{"annotation":[{"end":[18,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[18,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"n","sourcePos":[19,1]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[20,16],"start":[20,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[20,16],"start":[20,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":0}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}}],"kind":"Case","type":{"annotation":[{"end":[18,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[18,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[18,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[18,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[18,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[18,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"workingEven"},{"annotation":{"meta":null,"sourceSpan":{"end":[204,15],"start":[204,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[204,15],"start":[204,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"t100","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"t100","tag":"TypeVar"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"literalType":"ArrayLiteral","value":[]}},"identifier":"emptyList"},{"annotation":{"meta":null,"sourceSpan":{"end":[201,42],"start":[201,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[202,16],"start":[202,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[202,16],"start":[202,1]}},"argument":"xs","body":{"annotation":{"meta":null,"sourceSpan":{"end":[202,16],"start":[202,13]}},"kind":"Literal","type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},"value":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[202,15],"start":[202,14]}},"kind":"Var","type":{"annotation":[{"end":[201,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,19]},[]],"contents":"a","tag":"TypeVar"},"value":{"identifier":"x","sourcePos":[202,1]}}]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,9]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[201,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,21]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":21,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,19]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"cons"},{"annotation":{"meta":null,"sourceSpan":{"end":[206,34],"start":[206,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[206,22],"start":[206,18]}},"kind":"Var","type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,9]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[201,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,21]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":21,"type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,19]},[]],"contents":[{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,19]},[]],"contents":[{"annotation":[{"end":[201,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,19]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"cons","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[206,24],"start":[206,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[206,24],"start":[206,23]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[206,34],"start":[206,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[206,34],"start":[206,25]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"t100","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"t100","tag":"TypeVar"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"emptyList","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}},"identifier":"consEmptyList1"},{"annotation":{"meta":null,"sourceSpan":{"end":[208,40],"start":[208,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[208,22],"start":[208,18]}},"kind":"Var","type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,9]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[201,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,21]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":21,"type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,19]},[]],"contents":[{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,19]},[]],"contents":[{"annotation":[{"end":[201,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,19]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"cons","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[208,30],"start":[208,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[208,30],"start":[208,23]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"hello"}},"kind":"App","type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[{"annotation":[{"end":[201,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[208,40],"start":[208,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[208,40],"start":[208,31]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"t100","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"t100","tag":"TypeVar"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"emptyList","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[{"annotation":[{"end":[201,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[201,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[201,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}},"identifier":"consEmptyList2"},{"bindType":"Rec","binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[23,25],"start":[23,1]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[24,1]}},"argument":"n","body":{"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[25,5]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[25,5]}},"binderType":"LiteralBinder","literal":{"literalType":"BooleanLiteral","value":true}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[25,23],"start":[25,22]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[25,5]}},"binderType":"NullBinder"}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[26,20],"start":[26,10]}},"kind":"Var","type":{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[{"annotation":[{"end":[23,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,19]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[23,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"brokenEven","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[26,10]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[26,30],"start":[26,25]}},"kind":"Var","type":{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,10]},[]],"contents":[{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,10]},[]],"contents":[{"annotation":[{"end":[8,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,14]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,10]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"minus","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[26,33],"start":[26,22]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[26,23],"start":[26,22]}},"kind":"Var","type":{"annotation":[{"end":[23,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"n","sourcePos":[24,1]}},"kind":"App","type":{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[26,33],"start":[26,22]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[26,33],"start":[26,32]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false}],"caseExpressions":[{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[25,13],"start":[25,11]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[25,16],"start":[25,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[25,16],"start":[25,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[25,9],"start":[25,8]}},"kind":"Var","type":{"annotation":[{"end":[23,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"n","sourcePos":[24,1]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[25,16],"start":[25,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[25,16],"start":[25,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":0}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}}],"kind":"Case","type":{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[23,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"brokenEven"}]},{"annotation":{"meta":null,"sourceSpan":{"end":[182,22],"start":[182,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[183,17],"start":[183,9]}},"kind":"Literal","type":{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,10]},[]],"contents":[{"annotation":[{"end":[182,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,10]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,11]},[]],"contents":["foo",{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,18]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,21]},[]],"contents":[{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,21]},[]],"tag":"REmpty"},{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,18]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["foo",{"annotation":{"meta":null,"sourceSpan":{"end":[183,16],"start":[183,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}}]]}},"identifier":"anObj"},{"annotation":{"meta":null,"sourceSpan":{"end":[185,26],"start":[185,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[186,28],"start":[186,13]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[186,28],"start":[186,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[186,18],"start":[186,13]}},"kind":"Var","type":{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,10]},[]],"contents":[{"annotation":[{"end":[182,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,10]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,11]},[]],"contents":["foo",{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,18]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,21]},[]],"contents":[{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,21]},[]],"tag":"REmpty"},{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,18]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"anObj","moduleName":["Lib"]}},"identifier":"v"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[186,28],"start":[186,13]}},"copy":[],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,10]},[]],"contents":[{"annotation":[{"end":[182,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,10]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,11]},[]],"contents":["foo",{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,18]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,21]},[]],"contents":[{"annotation":[{"end":[182,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,21]},[]],"tag":"REmpty"},{"annotation":[{"end":[182,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[182,18]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"v","sourcePos":[186,1]}},"kind":"ObjectUpdate","type":{"annotation":[{"end":[185,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,14]},[]],"contents":[{"annotation":[{"end":[185,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[185,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,15]},[]],"contents":["foo",{"annotation":[{"end":[185,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[185,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,25]},[]],"contents":[{"annotation":[{"end":[185,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,25]},[]],"tag":"REmpty"},{"annotation":[{"end":[185,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"updates":[["foo",{"annotation":{"meta":null,"sourceSpan":{"end":[186,27],"start":[186,26]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}}]]},"kind":"Let","type":{"annotation":[{"end":[185,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,14]},[]],"contents":[{"annotation":[{"end":[185,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[185,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,15]},[]],"contents":["foo",{"annotation":[{"end":[185,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[185,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,25]},[]],"contents":[{"annotation":[{"end":[185,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,25]},[]],"tag":"REmpty"},{"annotation":[{"end":[185,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[185,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}},"identifier":"objUpdate"},{"annotation":{"meta":null,"sourceSpan":{"end":[111,16],"start":[111,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[112,13],"start":[112,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"identifier":"anIntLit"},{"annotation":{"meta":null,"sourceSpan":{"end":[117,12],"start":[117,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[118,9],"start":[118,8]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"identifier":"aVal"},{"annotation":{"meta":null,"sourceSpan":{"end":[114,21],"start":[114,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[115,20],"start":[115,14]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"woop"}},"identifier":"aStringLit"},{"annotation":{"meta":null,"sourceSpan":{"end":[198,24],"start":[198,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[199,15],"start":[199,1]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[199,15],"start":[199,11]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":true}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[198,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[198,10]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[198,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[198,17]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"aPred"},{"annotation":{"meta":null,"sourceSpan":{"end":[124,19],"start":[124,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[125,20],"start":[125,9]}},"kind":"Literal","type":{"annotation":[{"end":[124,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[124,10]},[]],"contents":[{"annotation":[{"end":[124,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[124,10]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[124,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[124,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[125,11],"start":[125,10]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},{"annotation":{"meta":null,"sourceSpan":{"end":[125,13],"start":[125,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},{"annotation":{"meta":null,"sourceSpan":{"end":[125,15],"start":[125,14]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},{"annotation":{"meta":null,"sourceSpan":{"end":[125,17],"start":[125,16]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},{"annotation":{"meta":null,"sourceSpan":{"end":[125,19],"start":[125,18]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}}]}},"identifier":"aList"},{"annotation":{"meta":null,"sourceSpan":{"end":[138,60],"start":[138,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[139,19],"start":[139,1]}},"argument":"r","body":{"annotation":{"meta":null,"sourceSpan":{"end":[139,19],"start":[139,16]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[139,17],"start":[139,16]}},"kind":"Var","type":{"annotation":[{"end":[138,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[{"annotation":[{"end":[138,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,40]},[]],"contents":["a",{"annotation":[{"end":[138,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,51]},[]],"contents":"r","tag":"TypeVar"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"r","sourcePos":[139,1]}},"fieldName":"a","kind":"Accessor","type":{"annotation":[{"end":[138,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,57]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[138,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,15]},[]],"contents":{"identifier":"r","kind":{"annotation":[{"end":[138,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,28]},[]],"contents":[{"annotation":[{"end":[138,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,28]},[]],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"skolem":25,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[{"annotation":[{"end":[138,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,40]},[]],"contents":["a",{"annotation":[{"end":[138,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,51]},[]],"contents":"r","tag":"TypeVar"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[138,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,57]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"aFunction4"},{"annotation":{"meta":null,"sourceSpan":{"end":[141,18],"start":[141,1]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[142,24],"start":[142,14]}},"kind":"Var","type":{"annotation":[{"end":[138,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,15]},[]],"contents":{"identifier":"r","kind":{"annotation":[{"end":[138,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,28]},[]],"contents":[{"annotation":[{"end":[138,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,28]},[]],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"skolem":25,"type":{"annotation":[{"end":[138,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[{"annotation":[{"end":[138,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[{"annotation":[{"end":[138,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,54]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[{"annotation":[{"end":[138,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,40]},[]],"contents":["a",{"annotation":[{"end":[138,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,51]},[]],"contents":"r","tag":"TypeVar"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[138,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,57]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"aFunction4","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[142,31],"start":[142,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[142,31],"start":[142,25]}},"kind":"Literal","type":{"annotation":[{"end":[138,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[{"annotation":[{"end":[138,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,39]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[138,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,40]},[]],"contents":["a",{"annotation":[{"end":[138,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[138,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["a",{"annotation":{"meta":null,"sourceSpan":{"end":[142,30],"start":[142,29]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}}]]}},"kind":"App","type":{"annotation":[{"end":[138,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[138,57]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"aFunction5"},{"annotation":{"meta":null,"sourceSpan":{"end":[135,25],"start":[135,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[136,41],"start":[136,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[136,41],"start":[136,16]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[136,41],"start":[136,16]}},"binderType":"LiteralBinder","literal":{"literalType":"BooleanLiteral","value":true}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[136,34],"start":[136,33]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[136,41],"start":[136,16]}},"binderType":"NullBinder"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[136,41],"start":[136,40]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false}],"caseExpressions":[{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[136,22],"start":[136,20]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[136,24],"start":[136,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[136,24],"start":[136,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[136,24],"start":[136,23]}},"kind":"Var","type":{"annotation":[{"end":[135,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[135,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[136,1]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[136,26],"start":[136,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[136,26],"start":[136,25]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}}],"kind":"Case","type":{"annotation":[{"end":[135,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[135,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[135,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[135,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[135,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[135,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"aFunction3"},{"annotation":{"meta":null,"sourceSpan":{"end":[132,31],"start":[132,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[133,21],"start":[133,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[133,21],"start":[133,16]}},"kind":"Literal","type":{"annotation":[{"end":[132,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[132,22]},[]],"contents":[{"annotation":[{"end":[132,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[132,22]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[132,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[132,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[133,18],"start":[133,17]}},"kind":"Var","type":{"annotation":[{"end":[132,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[132,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[133,1]}},{"annotation":{"meta":null,"sourceSpan":{"end":[133,20],"start":[133,19]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}}]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[132,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[132,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[132,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[132,22]},[]],"contents":[{"annotation":[{"end":[132,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[132,22]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[132,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[132,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"aFunction2"},{"annotation":{"meta":null,"sourceSpan":{"end":[129,56],"start":[129,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[130,24],"start":[130,1]}},"argument":"any","body":{"annotation":{"meta":null,"sourceSpan":{"end":[130,24],"start":[130,1]}},"argument":"f","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[130,20],"start":[130,19]}},"kind":"Var","type":{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"f","sourcePos":[130,1]}},"annotation":{"meta":null,"sourceSpan":{"end":[130,24],"start":[130,19]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[130,24],"start":[130,21]}},"kind":"Var","type":{"annotation":[{"end":[129,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,24]},[]],"contents":"x","tag":"TypeVar"},"value":{"identifier":"any","sourcePos":[130,1]}},"kind":"App","type":{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,14]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[129,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,26]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":28,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,24]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,29]},[]],"contents":[{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,29]},[]],"contents":[{"annotation":[{"end":[129,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,50]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"aFunction"},{"annotation":{"meta":null,"sourceSpan":{"end":[144,18],"start":[144,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsWhere"},"sourceSpan":{"end":[145,29],"start":[145,14]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[147,39],"start":[147,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[148,14],"start":[148,5]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[148,14],"start":[148,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":10}},"kind":"Abs","type":{"annotation":[{"end":[147,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,11]},[]],"contents":{"identifier":"z","kind":{"annotation":[{"end":[147,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,24]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":31,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[147,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,31]},[]],"contents":"z","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[147,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,36]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"go"}],"expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[145,23],"start":[145,14]}},"kind":"Var","type":{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,14]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[129,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,26]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":28,"type":{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,24]},[]],"contents":[{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,24]},[]],"contents":[{"annotation":[{"end":[129,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,26]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,24]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,29]},[]],"contents":[{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,29]},[]],"contents":[{"annotation":[{"end":[129,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,50]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"aFunction","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[145,26],"start":[145,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[145,26],"start":[145,24]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":124,"tag":"TUnknown"}],"tag":"TypeApp"},"value":{"literalType":"ArrayLiteral","value":[]}},"kind":"App","type":{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,29]},[]],"contents":[{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,29]},[]],"contents":[{"annotation":[{"end":[129,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,50]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":[{"annotation":[{"end":[129,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[129,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[145,29],"start":[145,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[145,29],"start":[145,27]}},"kind":"Var","type":{"annotation":[{"end":[147,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,11]},[]],"contents":{"identifier":"z","kind":{"annotation":[{"end":[147,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,24]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":31,"type":{"annotation":[{"end":[147,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,31]},[]],"contents":[{"annotation":[{"end":[147,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,31]},[]],"contents":[{"annotation":[{"end":[147,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,33]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[147,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,31]},[]],"contents":"z","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[147,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[147,36]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"go","sourcePos":[147,5]}},"kind":"App","type":{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[129,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"aFunction6"},{"annotation":{"meta":null,"sourceSpan":{"end":[121,17],"start":[121,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[122,13],"start":[122,9]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":true}},"identifier":"aBool"}],"exports":["eq","eq2","minus","testEq","workingEven","brokenEven","testEq2","ConInt","ConInts","ConBoolean","ConString","ConChar","ConNested","ConQuantified","ConConstrained","ConObject","ConObjectQuantified","testBinders","mutuallyRecursiveBindingGroup","mutuallyRecursiveBindingGroupNoTypes","nestedBinds","ADataRec","ANewTypeRec","Constr1","Constr2","anIntLit","aStringLit","aVal","aBool","aList","aFunction","aFunction2","aFunction3","aFunction4","aFunction5","aFunction6","recF1","recG1","testBuiltin","plus","main","nestedApplications","anObj","objUpdate","polyInObj","polyInObjMatch","aPred","cons","emptyList","consEmptyList1","consEmptyList2","eqInt","eq2IntBoolean"],"foreign":[],"imports":[{"annotation":{"meta":null,"sourceSpan":{"end":[208,40],"start":[1,1]}},"moduleName":["Builtin"]},{"annotation":{"meta":null,"sourceSpan":{"end":[208,40],"start":[1,1]}},"moduleName":["Lib"]},{"annotation":{"meta":null,"sourceSpan":{"end":[208,40],"start":[1,1]}},"moduleName":["Prim"]}],"moduleName":["Lib"],"modulePath":"tests/purus/passing/Misc/Lib.purs","reExports":{},"sourceSpan":{"end":[208,40],"start":[1,1]}} \ No newline at end of file +{"builtWith":"0.0.1","comments":[],"dataTypes":{"ADataRec":["data",[],[{"dataCtorAnn":[{"end":[104,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,15]},[]],"dataCtorFields":[[{"Ident":"value0"},{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,26]},[]],"contents":[{"annotation":[{"end":[104,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,26]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,27]},[]],"contents":["hello",{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,36]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,41]},[]],"contents":["world",{"annotation":[{"end":[104,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,50]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,57]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"}]],"dataCtorName":"ADataRec"}]],"ANewtypeRec":["newtype",[],[{"dataCtorAnn":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,21]},[]],"dataCtorFields":[[{"Ident":"value0"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[{"annotation":[{"end":[106,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,36]},[]],"contents":["foo",{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,43]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,46]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}]],"dataCtorName":"ANewTypeRec"}]],"ASum":["data",[],[{"dataCtorAnn":[{"end":[108,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,11]},[]],"dataCtorFields":[[{"Ident":"value0"},{"annotation":[{"end":[108,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,21]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}]],"dataCtorName":"Constr1"},{"dataCtorAnn":[{"end":[108,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,25]},[]],"dataCtorFields":[[{"Ident":"value0"},{"annotation":[{"end":[108,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,35]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}]],"dataCtorName":"Constr2"}]],"Eq$Dict":["newtype",[["a",null]],[{"dataCtorAnn":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[5,1]},[{"BlockComment":" Type Classes "},{"LineComment":" Single Param"}]],"dataCtorFields":[[{"Ident":"dict"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}]],"dataCtorName":"Eq$Dict"}]],"Eq2$Dict":["newtype",[["a",null],["b",null]],[{"dataCtorAnn":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[29,1]},[{"LineComment":" Multi Param"}]],"dataCtorFields":[[{"Ident":"dict"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}]],"dataCtorName":"Eq2$Dict"}]]},"decls":[{"annotation":{"meta":{"metaType":"IsTypeClassConstructor"},"sourceSpan":{"end":[30,27],"start":[29,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[30,27],"start":[29,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[29,1]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"x","sourcePos":[0,0]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"b","kind":null,"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"Eq2$Dict"},{"annotation":{"meta":{"metaType":"IsTypeClassConstructor"},"sourceSpan":{"end":[6,26],"start":[5,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[6,26],"start":[5,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[5,1]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"x","sourcePos":[0,0]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"Eq$Dict"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConInt","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[42,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[42,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConInt"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConInts","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[43,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[43,14]},[]],"contents":[{"annotation":[{"end":[43,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[43,14]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[43,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[43,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConInts"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConBoolean","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[44,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[44,16]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConBoolean"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConString","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[45,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[45,15]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConString"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConChar","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[46,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[46,13]},[]],"contents":[["Prim"],"Char"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConChar"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConNested","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConNested"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConQuantified","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,20]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[48,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":[{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":[{"annotation":[{"end":[48,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[48,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,35]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConQuantified"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConConstrained","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,21]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[49,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,31]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,34]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,43],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,41]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,44]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConConstrained"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConObject","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,15]},[]],"contents":[{"annotation":[{"end":[50,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,15]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,16]},[]],"contents":["objField",{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,31]},[]],"contents":[{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,31]},[]],"tag":"REmpty"},{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConObject"},{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[51,58],"start":[41,1]}},"constructorName":"ConObjectQuantified","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,25]},[]],"contents":[{"annotation":[{"end":[51,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,25]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,26]},[]],"contents":["objFieldQ",{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,39]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,50],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,54]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,57]},[]],"contents":[{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,57]},[]],"tag":"REmpty"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,39]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"TestBinderSum"},"identifier":"ConObjectQuantified"},{"annotation":{"meta":null,"sourceSpan":{"end":[108,42],"start":[108,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[108,42],"start":[108,1]}},"constructorName":"Constr1","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[108,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,21]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"ASum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"ASum"},"identifier":"Constr1"},{"annotation":{"meta":null,"sourceSpan":{"end":[108,42],"start":[108,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[108,42],"start":[108,1]}},"constructorName":"Constr2","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[108,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[108,35]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"ASum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"ASum"},"identifier":"Constr2"},{"annotation":{"meta":null,"sourceSpan":{"end":[106,47],"start":[106,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[106,47],"start":[106,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[106,47],"start":[106,1]}},"kind":"Var","type":{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[{"annotation":[{"end":[106,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,36]},[]],"contents":["foo",{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,43]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,46]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"x","sourcePos":[0,0]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[{"annotation":[{"end":[106,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,36]},[]],"contents":["foo",{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,43]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,46]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[{"annotation":[{"end":[106,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,35]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,36]},[]],"contents":["foo",{"annotation":[{"end":[106,46],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,43]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[106,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[106,46]},[]],"tag":"REmpty"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"ANewTypeRec"},{"annotation":{"meta":null,"sourceSpan":{"end":[104,58],"start":[104,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[104,58],"start":[104,1]}},"constructorName":"ADataRec","fieldNames":["value0"],"kind":"Constructor","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,26]},[]],"contents":[{"annotation":[{"end":[104,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,26]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,27]},[]],"contents":["hello",{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,36]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,41]},[]],"contents":["world",{"annotation":[{"end":[104,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,50]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,57]},[]],"contents":[{"annotation":[{"end":[104,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,57]},[]],"tag":"REmpty"},{"annotation":[{"end":[104,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[104,36]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"ADataRec"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"typeName":"ADataRec"},"identifier":"ADataRec"},{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[11,1]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[12,16],"start":[11,1]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"Eq$Dict","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[11,1]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[11,1]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["eq",{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[12,3]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[12,3]}},"argument":"v1","body":{"annotation":{"meta":null,"sourceSpan":{"end":[12,16],"start":[12,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":true}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}}]]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"eqInt"},{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[32,1]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[33,17],"start":[32,1]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"Eq2$Dict","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[32,1]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[32,1]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["eq2",{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[33,3]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[33,3]}},"argument":"v1","body":{"annotation":{"meta":null,"sourceSpan":{"end":[33,17],"start":[33,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":true}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}}]]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"eq2IntBoolean"},{"annotation":{"meta":null,"sourceSpan":{"end":[120,24],"start":[120,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[123,17],"start":[121,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[123,17],"start":[121,14]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[122,12],"start":[122,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[122,12],"start":[122,11]}},"binderType":"VarBinder","identifier":"y"}],"constructorName":{"identifier":"Constr1","moduleName":["Lib"]},"typeName":{"identifier":"ASum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[122,17],"start":[122,16]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[123,12],"start":[123,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[123,12],"start":[123,11]}},"binderType":"VarBinder","identifier":"z"}],"constructorName":{"identifier":"Constr2","moduleName":["Lib"]},"typeName":{"identifier":"ASum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[123,17],"start":[123,16]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[121,20],"start":[121,19]}},"kind":"Var","type":{"annotation":[{"end":[120,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[120,13]},[]],"contents":[["Lib"],"ASum"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[121,1]}}],"kind":"Case","type":{"annotation":[{"end":[120,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[120,21]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[120,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[120,13]},[]],"contents":[["Lib"],"ASum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[120,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[120,21]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"testasum"},{"annotation":{"meta":null,"sourceSpan":{"end":[163,19],"start":[163,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[164,33],"start":[164,15]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"addInteger","moduleName":["Builtin"]}},"annotation":{"meta":null,"sourceSpan":{"end":[164,35],"start":[164,15]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[164,35],"start":[164,34]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[164,37],"start":[164,15]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[164,37],"start":[164,36]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"testBuiltin"},{"annotation":{"meta":null,"sourceSpan":{"end":[53,37],"start":[53,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[68,17],"start":[54,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[68,17],"start":[54,17]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[55,15],"start":[55,3]}},"binder":{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[55,14],"start":[55,6]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[55,14],"start":[55,13]}},"binderType":"LiteralBinder","literal":{"literalType":"IntLiteral","value":3}}],"constructorName":{"identifier":"ConInt","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}},"binderType":"NamedBinder","identifier":"a"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[55,21],"start":[55,20]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[56,11],"start":[56,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[56,11],"start":[56,10]}},"binderType":"VarBinder","identifier":"a"}],"constructorName":{"identifier":"ConInt","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[56,16],"start":[56,15]}},"kind":"Var","type":{"annotation":[{"end":[42,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[42,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"a","sourcePos":[56,10]}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[57,29],"start":[57,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[57,15],"start":[57,12]}},"binderType":"LiteralBinder","literal":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[57,14],"start":[57,13]}},"binderType":"LiteralBinder","literal":{"literalType":"IntLiteral","value":3}}]}}],"constructorName":{"identifier":"ConInts","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[57,34],"start":[57,33]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[58,16],"start":[58,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[58,16],"start":[58,11]}},"binderType":"LiteralBinder","literal":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[58,13],"start":[58,12]}},"binderType":"VarBinder","identifier":"a"},{"annotation":{"meta":null,"sourceSpan":{"end":[58,15],"start":[58,14]}},"binderType":"VarBinder","identifier":"b"}]}}],"constructorName":{"identifier":"ConInts","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[58,21],"start":[58,20]}},"kind":"Var","type":{"annotation":[{"end":[43,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[43,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"b","sourcePos":[58,14]}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[59,18],"start":[59,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[59,18],"start":[59,14]}},"binderType":"LiteralBinder","literal":{"literalType":"BooleanLiteral","value":true}}],"constructorName":{"identifier":"ConBoolean","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[59,24],"start":[59,23]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[60,15],"start":[60,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[60,15],"start":[60,11]}},"binderType":"LiteralBinder","literal":{"literalType":"CharLiteral","value":"\n"}}],"constructorName":{"identifier":"ConChar","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[60,20],"start":[60,19]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[61,23],"start":[61,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[61,22],"start":[61,14]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[61,22],"start":[61,21]}},"binderType":"LiteralBinder","literal":{"literalType":"IntLiteral","value":2}}],"constructorName":{"identifier":"ConInt","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"constructorName":{"identifier":"ConNested","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[61,28],"start":[61,27]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":6}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[62,18],"start":[62,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[62,18],"start":[62,17]}},"binderType":"VarBinder","identifier":"f"}],"constructorName":{"identifier":"ConQuantified","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[62,23],"start":[62,22]}},"kind":"Var","type":{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,20]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[48,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":[{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":[{"annotation":[{"end":[48,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[48,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,30]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,35]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"f","sourcePos":[62,17]}},"annotation":{"meta":null,"sourceSpan":{"end":[62,31],"start":[62,22]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[62,31],"start":[62,24]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"hello"}},"kind":"App","type":{"annotation":[{"end":[48,38],"name":"tests/purus/passing/Misc/Lib.purs","start":[48,35]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[63,19],"start":[63,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[63,19],"start":[63,18]}},"binderType":"VarBinder","identifier":"f"}],"constructorName":{"identifier":"ConConstrained","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[63,24],"start":[63,23]}},"kind":"Var","type":{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,21]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[49,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,31]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,34]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,43],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,41]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,44]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"f","sourcePos":[63,18]}},"annotation":{"meta":null,"sourceSpan":{"end":[63,26],"start":[63,23]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":[{"annotation":[{"end":[49,43],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,41]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[49,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,39]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,44]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[63,26],"start":[63,23]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[63,26],"start":[63,25]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[49,47],"name":"tests/purus/passing/Misc/Lib.purs","start":[49,44]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[64,18],"start":[64,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[64,18],"start":[64,13]}},"binderType":"VarBinder","identifier":"other"}],"constructorName":{"identifier":"ConNested","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[64,23],"start":[64,22]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":7}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[65,16],"start":[65,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[65,16],"start":[65,13]}},"binderType":"VarBinder","identifier":"obj"}],"constructorName":{"identifier":"ConObject","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[65,32],"start":[65,20]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[65,23],"start":[65,20]}},"kind":"Var","type":{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,15]},[]],"contents":[{"annotation":[{"end":[50,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,15]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,16]},[]],"contents":["objField",{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,31]},[]],"contents":[{"annotation":[{"end":[50,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,31]},[]],"tag":"REmpty"},{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"obj","sourcePos":[65,13]}},"fieldName":"objField","kind":"Accessor","type":{"annotation":[{"end":[53,37],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,34]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[66,27],"start":[66,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[66,27],"start":[66,23]}},"binderType":"VarBinder","identifier":"objQ"}],"constructorName":{"identifier":"ConObjectQuantified","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[66,45],"start":[66,31]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[66,35],"start":[66,31]}},"kind":"Var","type":{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,25]},[]],"contents":[{"annotation":[{"end":[51,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,25]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,26]},[]],"contents":["objFieldQ",{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,39]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[51,50],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,54]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,57]},[]],"contents":[{"annotation":[{"end":[51,58],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,57]},[]],"tag":"REmpty"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,39]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"objQ","sourcePos":[66,23]}},"fieldName":"objFieldQ","kind":"Accessor","type":{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,49]},[]],"contents":[{"annotation":[{"end":[51,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,51]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,54]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[66,53],"start":[66,31]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[66,53],"start":[66,46]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"world"}},"kind":"App","type":{"annotation":[{"end":[51,57],"name":"tests/purus/passing/Misc/Lib.purs","start":[51,54]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false},{"binders":[{"annotation":{"meta":{"constructorType":"SumType","identifiers":["value0"],"metaType":"IsConstructor"},"sourceSpan":{"end":[67,26],"start":[67,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[67,26],"start":[67,13]}},"binderType":"LiteralBinder","literal":{"literalType":"ObjectLiteral","value":[["objField",{"annotation":{"meta":null,"sourceSpan":{"end":[67,25],"start":[67,24]}},"binderType":"VarBinder","identifier":"f"}]]}}],"constructorName":{"identifier":"ConObject","moduleName":["Lib"]},"typeName":{"identifier":"TestBinderSum","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[67,31],"start":[67,30]}},"kind":"Var","type":{"annotation":[{"end":[50,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[50,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"f","sourcePos":[67,24]}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[68,4],"start":[68,3]}},"binderType":"NullBinder"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[68,17],"start":[68,16]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":0}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[54,23],"start":[54,22]}},"kind":"Var","type":{"annotation":[{"end":[53,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,16]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[54,1]}}],"kind":"Case","type":{"annotation":[{"end":[53,37],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,34]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[53,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,16]},[]],"contents":[["Lib"],"TestBinderSum"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[53,37],"name":"tests/purus/passing/Misc/Lib.purs","start":[53,34]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"testBinders"},{"bindType":"Rec","binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[160,28],"start":[160,1]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[161,18],"start":[161,1]}},"argument":"x","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[161,16],"start":[161,11]}},"kind":"Var","type":{"annotation":[{"end":[157,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,10]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[157,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":9,"type":{"annotation":[{"end":[157,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,20]},[]],"contents":[{"annotation":[{"end":[157,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,20]},[]],"contents":[{"annotation":[{"end":[157,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,22]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[157,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,20]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[157,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"recF1","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[161,18],"start":[161,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[161,18],"start":[161,17]}},"kind":"Var","type":{"annotation":[{"end":[160,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,20]},[]],"contents":"x","tag":"TypeVar"},"value":{"identifier":"x","sourcePos":[161,1]}},"kind":"App","type":{"annotation":[{"end":[157,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[160,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,10]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[160,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":7,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[160,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,20]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[160,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"recG1"},{"annotation":{"meta":null,"sourceSpan":{"end":[157,28],"start":[157,1]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[158,18],"start":[158,1]}},"argument":"x","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[158,16],"start":[158,11]}},"kind":"Var","type":{"annotation":[{"end":[160,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,10]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[160,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":6,"type":{"annotation":[{"end":[160,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,20]},[]],"contents":[{"annotation":[{"end":[160,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,20]},[]],"contents":[{"annotation":[{"end":[160,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,22]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[160,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,20]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[160,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"recG1","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[158,18],"start":[158,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[158,18],"start":[158,17]}},"kind":"Var","type":{"annotation":[{"end":[157,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,20]},[]],"contents":"x","tag":"TypeVar"},"value":{"identifier":"x","sourcePos":[158,1]}},"kind":"App","type":{"annotation":[{"end":[160,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[160,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[157,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,10]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[157,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":10,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[157,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,20]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[157,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[157,25]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"recF1"}]},{"annotation":{"meta":null,"sourceSpan":{"end":[193,53],"start":[193,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsWhere"},"sourceSpan":{"end":[194,33],"start":[194,13]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[196,29],"start":[196,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[197,13],"start":[197,5]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[197,13],"start":[197,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"kind":"Abs","type":{"annotation":[{"end":[196,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,11]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[196,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,23]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":14,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[196,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,21]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[196,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"go"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[194,33],"start":[194,13]}},"kind":"Literal","type":{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,14]},[]],"contents":[{"annotation":[{"end":[193,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,15]},[]],"contents":["bar",{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,22]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[193,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,34]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":12,"type":{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":[{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":[{"annotation":[{"end":[193,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,34]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,33],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[193,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,42]},[]],"contents":["baz",{"annotation":[{"end":[193,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,49]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,52]},[]],"contents":[{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,52]},[]],"tag":"REmpty"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["baz",{"annotation":{"meta":null,"sourceSpan":{"end":[194,32],"start":[194,29]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":100}}],["bar",{"annotation":{"meta":null,"sourceSpan":{"end":[194,21],"start":[194,19]}},"kind":"Var","type":{"annotation":[{"end":[196,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,11]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[196,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,23]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":14,"type":{"annotation":[{"end":[196,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,21]},[]],"contents":[{"annotation":[{"end":[196,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,21]},[]],"contents":[{"annotation":[{"end":[196,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,23]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[196,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,21]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[196,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[196,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"go","sourcePos":[196,5]}}]]}},"kind":"Let","type":{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,14]},[]],"contents":[{"annotation":[{"end":[193,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,15]},[]],"contents":["bar",{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,22]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[193,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,34]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":12,"type":{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":[{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":[{"annotation":[{"end":[193,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,34]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,33],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[193,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,42]},[]],"contents":["baz",{"annotation":[{"end":[193,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,49]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,52]},[]],"contents":[{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,52]},[]],"tag":"REmpty"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"}},"identifier":"polyInObj"},{"annotation":{"meta":null,"sourceSpan":{"end":[199,22],"start":[199,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[201,32],"start":[200,18]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[201,19],"start":[201,3]}},"binderType":"LiteralBinder","literal":{"literalType":"ObjectLiteral","value":[["bar",{"annotation":{"meta":null,"sourceSpan":{"end":[201,10],"start":[201,9]}},"binderType":"VarBinder","identifier":"f"}],["baz",{"annotation":{"meta":null,"sourceSpan":{"end":[201,18],"start":[201,17]}},"binderType":"NullBinder"}]]}}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[201,24],"start":[201,23]}},"kind":"Var","type":{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,22]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[193,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,34]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":12,"type":{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":[{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":[{"annotation":[{"end":[193,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,34]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,33],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"f","sourcePos":[201,9]}},"annotation":{"meta":null,"sourceSpan":{"end":[201,32],"start":[201,23]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[201,32],"start":[201,25]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"hello"}},"kind":"App","type":{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[200,32],"start":[200,23]}},"kind":"Var","type":{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,14]},[]],"contents":[{"annotation":[{"end":[193,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,15]},[]],"contents":["bar",{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,22]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[193,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,34]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":12,"type":{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":[{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":[{"annotation":[{"end":[193,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,34]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,33],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,32]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,37]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},{"annotation":[{"end":[193,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,42]},[]],"contents":["baz",{"annotation":[{"end":[193,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,49]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,52]},[]],"contents":[{"annotation":[{"end":[193,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,52]},[]],"tag":"REmpty"},{"annotation":[{"end":[193,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[193,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"polyInObj","moduleName":["Lib"]}}],"kind":"Case","type":{"annotation":[{"end":[199,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[199,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"polyInObjMatch"},{"annotation":{"meta":null,"sourceSpan":{"end":[168,26],"start":[168,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[169,34],"start":[169,1]}},"argument":"a","body":{"annotation":{"meta":null,"sourceSpan":{"end":[169,34],"start":[169,1]}},"argument":"b","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[169,30],"start":[169,12]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"addInteger","moduleName":["Builtin"]}},"annotation":{"meta":null,"sourceSpan":{"end":[169,32],"start":[169,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[169,32],"start":[169,31]}},"kind":"Var","type":{"annotation":[{"end":[168,12],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,9]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"a","sourcePos":[169,1]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[169,34],"start":[169,12]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[169,34],"start":[169,33]}},"kind":"Var","type":{"annotation":[{"end":[168,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"b","sourcePos":[169,1]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[168,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[168,12],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,9]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[{"annotation":[{"end":[168,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,20]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[168,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"plus"},{"annotation":{"meta":null,"sourceSpan":{"end":[90,19],"start":[90,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[101,7],"start":[92,3]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[95,41],"start":[95,8]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[96,15],"start":[96,8]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[96,15],"start":[96,14]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"kind":"Abs","type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,13]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[95,30],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,26]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":17,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[95,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,33]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,38]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"g"},{"annotation":{"meta":null,"sourceSpan":{"end":[92,23],"start":[92,8]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[93,15],"start":[93,8]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[93,15],"start":[93,14]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[92,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"f"},{"annotation":{"meta":null,"sourceSpan":{"end":[100,18],"start":[98,8]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[100,18],"start":[98,12]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[98,29],"start":[98,16]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[98,21],"start":[98,20]}},"kind":"Var","type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,13]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[95,30],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,26]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":17,"type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,33]},[]],"contents":[{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,33]},[]],"contents":[{"annotation":[{"end":[95,37],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,35]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[95,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,33]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,38]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"g","sourcePos":[95,8]}},"annotation":{"meta":null,"sourceSpan":{"end":[98,29],"start":[98,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[98,29],"start":[98,22]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"hello"}},"kind":"App","type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,38]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"i"},{"annotation":{"meta":null,"sourceSpan":{"end":[99,23],"start":[99,16]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[99,21],"start":[99,20]}},"kind":"Var","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[{"annotation":[{"end":[92,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[92,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f","sourcePos":[92,8]}},"annotation":{"meta":null,"sourceSpan":{"end":[99,23],"start":[99,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[99,23],"start":[99,22]}},"kind":"Var","type":{"annotation":[{"end":[95,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[95,38]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"i","sourcePos":[98,16]}},"kind":"App","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"j"}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[100,16],"start":[100,15]}},"kind":"Var","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[{"annotation":[{"end":[92,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[92,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f","sourcePos":[92,8]}},"annotation":{"meta":null,"sourceSpan":{"end":[100,18],"start":[100,15]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[100,18],"start":[100,17]}},"kind":"Var","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"j","sourcePos":[99,16]}},"kind":"App","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"h"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[101,7],"start":[101,6]}},"kind":"Var","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"h","sourcePos":[98,8]}},"kind":"Let","type":{"annotation":[{"end":[92,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[92,20]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"nestedBinds"},{"annotation":{"meta":null,"sourceSpan":{"end":[175,26],"start":[175,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsWhere"},"sourceSpan":{"end":[176,39],"start":[176,22]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[178,14],"start":[178,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[178,14],"start":[178,5]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[178,14],"start":[178,5]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[178,14],"start":[178,13]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[178,5]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"i"},{"annotation":{"meta":null,"sourceSpan":{"end":[183,13],"start":[181,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[182,8],"start":[182,7]}},"binderType":"LiteralBinder","literal":{"literalType":"IntLiteral","value":2}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[182,13],"start":[182,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[183,8],"start":[183,7]}},"binderType":"NullBinder"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[183,13],"start":[183,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"v","sourcePos":[0,0]}}],"kind":"Case","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"h"},{"annotation":{"meta":null,"sourceSpan":{"end":[180,12],"start":[180,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[180,12],"start":[180,5]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[180,12],"start":[180,11]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"g"},{"annotation":{"meta":null,"sourceSpan":{"end":[179,12],"start":[179,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[179,12],"start":[179,5]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[179,12],"start":[179,11]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[179,5]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"f"}],"expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[176,23],"start":[176,22]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"i","sourcePos":[178,5]}},"annotation":{"meta":null,"sourceSpan":{"end":[176,37],"start":[176,22]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[176,26],"start":[176,25]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f","sourcePos":[179,5]}},"annotation":{"meta":null,"sourceSpan":{"end":[176,36],"start":[176,25]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[176,29],"start":[176,28]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g","sourcePos":[180,5]}},"annotation":{"meta":null,"sourceSpan":{"end":[176,35],"start":[176,28]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[176,32],"start":[176,31]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"h","sourcePos":[181,5]}},"annotation":{"meta":null,"sourceSpan":{"end":[176,34],"start":[176,31]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[176,34],"start":[176,33]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[176,39],"start":[176,22]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[176,39],"start":[176,38]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"nestedApplications"},{"annotation":{"meta":null,"sourceSpan":{"end":[83,44],"start":[83,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[88,10],"start":[85,3]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[86,17],"start":[86,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[86,17],"start":[86,7]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[86,17],"start":[86,7]}},"argument":"y","body":{"annotation":{"meta":null,"sourceSpan":{"end":[86,17],"start":[86,16]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"y","sourcePos":[86,7]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"h'"},{"annotation":{"meta":null,"sourceSpan":{"end":[87,25],"start":[87,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[87,25],"start":[87,7]}},"argument":"y","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[87,16],"start":[87,14]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"h'","sourcePos":[86,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[87,23],"start":[87,14]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[87,20],"start":[87,18]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f'","sourcePos":[85,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[87,22],"start":[87,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[87,22],"start":[87,21]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"y","sourcePos":[87,7]}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[87,25],"start":[87,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[87,25],"start":[87,24]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"g'"},{"annotation":{"meta":null,"sourceSpan":{"end":[85,18],"start":[85,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[85,18],"start":[85,7]}},"argument":"x","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[85,16],"start":[85,14]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g'","sourcePos":[87,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[85,18],"start":[85,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[85,18],"start":[85,17]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"f'"}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[88,8],"start":[88,6]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g'","sourcePos":[87,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[88,10],"start":[88,6]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[88,10],"start":[88,9]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"kind":"App","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"mutuallyRecursiveBindingGroupNoTypes"},{"annotation":{"meta":null,"sourceSpan":{"end":[72,37],"start":[72,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[80,9],"start":[74,3]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[76,29],"start":[76,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[77,16],"start":[77,7]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[77,16],"start":[77,7]}},"argument":"y","body":{"annotation":{"meta":null,"sourceSpan":{"end":[77,16],"start":[77,15]}},"kind":"Var","type":{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"y","sourcePos":[77,7]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,23]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"h"},{"annotation":{"meta":null,"sourceSpan":{"end":[78,22],"start":[78,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[79,22],"start":[79,7]}},"argument":"y","body":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[79,14],"start":[79,13]}},"kind":"Var","type":{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,12]},[]],"contents":[{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,12]},[]],"contents":[{"annotation":[{"end":[76,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,23]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"h","sourcePos":[76,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[79,20],"start":[79,13]}},"argument":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[79,17],"start":[79,16]}},"kind":"Var","type":{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,12]},[]],"contents":[{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,12]},[]],"contents":[{"annotation":[{"end":[74,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[74,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"f","sourcePos":[74,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[79,19],"start":[79,16]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[79,19],"start":[79,18]}},"kind":"Var","type":{"annotation":[{"end":[78,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"y","sourcePos":[79,7]}},"kind":"App","type":{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[{"annotation":[{"end":[76,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,23]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[76,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[79,22],"start":[79,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[79,22],"start":[79,21]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"kind":"App","type":{"annotation":[{"end":[76,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[76,26]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[78,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"g"},{"annotation":{"meta":null,"sourceSpan":{"end":[74,22],"start":[74,7]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[75,16],"start":[75,7]}},"argument":"x","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[75,14],"start":[75,13]}},"kind":"Var","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[{"annotation":[{"end":[78,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[78,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g","sourcePos":[78,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[75,16],"start":[75,13]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[75,16],"start":[75,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[74,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[74,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[74,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"f"}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[80,7],"start":[80,6]}},"kind":"Var","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[{"annotation":[{"end":[78,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[78,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,12]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"g","sourcePos":[78,7]}},"annotation":{"meta":null,"sourceSpan":{"end":[80,9],"start":[80,6]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[80,9],"start":[80,8]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},"kind":"App","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[78,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[78,19]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"mutuallyRecursiveBindingGroup"},{"annotation":{"meta":null,"sourceSpan":{"end":[8,27],"start":[8,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[9,15],"start":[9,1]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[9,15],"start":[9,1]}},"argument":"v1","body":{"annotation":{"meta":null,"sourceSpan":{"end":[9,15],"start":[9,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":42}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,10]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"minus"},{"annotation":{"meta":null,"sourceSpan":{"end":[173,16],"start":[173,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[173,12],"start":[173,8]}},"kind":"Var","type":{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,9]},[]],"contents":[{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,9]},[]],"contents":[{"annotation":[{"end":[168,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,13]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[168,12],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,9]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[{"annotation":[{"end":[168,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,20]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[168,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"plus","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[173,14],"start":[173,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[173,14],"start":[173,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[{"annotation":[{"end":[168,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,20]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[168,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[173,16],"start":[173,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[173,16],"start":[173,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[168,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[168,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"main"},{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"argument":"dict","body":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[30,27],"start":[30,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"binderType":"VarBinder","identifier":"v"}],"constructorName":{"identifier":"Eq2$Dict","moduleName":["Lib"]},"typeName":{"identifier":"Eq2$Dict","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq2",{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"v","sourcePos":[30,3]}},"fieldName":"eq2","kind":"Accessor","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[30,27],"start":[30,3]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},"value":{"identifier":"dict","sourcePos":[0,0]}}],"kind":"Case","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":19,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"b","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":18,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"visibility":"TypeVarVisible"},"tag":"ForAll"}},"identifier":"eq2"},{"annotation":{"meta":null,"sourceSpan":{"end":[35,19],"start":[35,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[36,14],"start":[36,11]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":19,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"b","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":18,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq2","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[36,18],"start":[36,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq2$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[32,17],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,14]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[32,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[32,18]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eq2IntBoolean","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":[{"annotation":[{"end":[30,14],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,12]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,10]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[36,18],"start":[36,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[36,18],"start":[36,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":101}},"kind":"App","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":[{"annotation":[{"end":[30,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,17]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[30,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,15]},[]],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[36,24],"start":[36,11]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[36,24],"start":[36,19]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":false}},"kind":"App","type":{"annotation":[{"end":[30,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[30,20]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}},"identifier":"testEq2"},{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"argument":"dict","body":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":{"metaType":"IsNewtype"},"sourceSpan":{"end":[6,26],"start":[6,3]}},"binderType":"ConstructorBinder","binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"binderType":"VarBinder","identifier":"v"}],"constructorName":{"identifier":"Eq$Dict","moduleName":["Lib"]},"typeName":{"identifier":"Eq$Dict","moduleName":["Lib"]}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":["eq",{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"v","sourcePos":[6,3]}},"fieldName":"eq","kind":"Accessor","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"isGuarded":false}],"caseExpressions":[{"annotation":{"meta":null,"sourceSpan":{"end":[6,26],"start":[6,3]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},"value":{"identifier":"dict","sourcePos":[0,0]}}],"kind":"Case","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"}},"identifier":"eq"},{"annotation":{"meta":null,"sourceSpan":{"end":[14,18],"start":[14,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[15,12],"start":[15,10]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[15,14],"start":[15,10]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[15,14],"start":[15,10]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[15,14],"start":[15,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[15,16],"start":[15,10]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[15,16],"start":[15,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}},"identifier":"testEq"},{"annotation":{"meta":null,"sourceSpan":{"end":[18,26],"start":[18,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[19,1]}},"argument":"n","body":{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[20,5]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[20,5]}},"binderType":"LiteralBinder","literal":{"literalType":"BooleanLiteral","value":true}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[20,23],"start":[20,22]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[20,5]}},"binderType":"NullBinder"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[21,12],"start":[21,10]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":42}},"isGuarded":false}],"caseExpressions":[{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[20,13],"start":[20,11]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[20,16],"start":[20,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[20,16],"start":[20,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[20,9],"start":[20,8]}},"kind":"Var","type":{"annotation":[{"end":[18,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[18,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"n","sourcePos":[19,1]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[20,16],"start":[20,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[20,16],"start":[20,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":0}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}}],"kind":"Case","type":{"annotation":[{"end":[18,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[18,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[18,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[18,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[18,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[18,23]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"workingEven"},{"annotation":{"meta":null,"sourceSpan":{"end":[209,15],"start":[209,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[209,15],"start":[209,13]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"t100","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"t100","tag":"TypeVar"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"literalType":"ArrayLiteral","value":[]}},"identifier":"emptyList"},{"annotation":{"meta":null,"sourceSpan":{"end":[206,42],"start":[206,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[207,16],"start":[207,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[207,16],"start":[207,1]}},"argument":"xs","body":{"annotation":{"meta":null,"sourceSpan":{"end":[207,16],"start":[207,13]}},"kind":"Literal","type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},"value":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[207,15],"start":[207,14]}},"kind":"Var","type":{"annotation":[{"end":[206,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,19]},[]],"contents":"a","tag":"TypeVar"},"value":{"identifier":"x","sourcePos":[207,1]}}]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,9]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[206,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,21]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":21,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,19]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"cons"},{"annotation":{"meta":null,"sourceSpan":{"end":[211,34],"start":[211,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[211,22],"start":[211,18]}},"kind":"Var","type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,9]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[206,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,21]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":21,"type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,19]},[]],"contents":[{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,19]},[]],"contents":[{"annotation":[{"end":[206,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,19]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"cons","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[211,24],"start":[211,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[211,24],"start":[211,23]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"kind":"App","type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[211,34],"start":[211,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[211,34],"start":[211,25]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"t100","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"t100","tag":"TypeVar"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"emptyList","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}},"identifier":"consEmptyList1"},{"annotation":{"meta":null,"sourceSpan":{"end":[213,40],"start":[213,1]}},"bindType":"NonRec","expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[213,22],"start":[213,18]}},"kind":"Var","type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,9]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[206,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,21]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":21,"type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,19]},[]],"contents":[{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,19]},[]],"contents":[{"annotation":[{"end":[206,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,19]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"cons","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[213,30],"start":[213,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[213,30],"start":[213,23]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"hello"}},"kind":"App","type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,34],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,32]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[{"annotation":[{"end":[206,29],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,24]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,30]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[213,40],"start":[213,18]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[213,40],"start":[213,31]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"t100","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":null,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"t100","tag":"TypeVar"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"emptyList","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[{"annotation":[{"end":[206,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,35]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[206,42],"name":"tests/purus/passing/Misc/Lib.purs","start":[206,41]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}},"identifier":"consEmptyList2"},{"bindType":"Rec","binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[23,25],"start":[23,1]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[24,1]}},"argument":"n","body":{"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[25,5]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[25,5]}},"binderType":"LiteralBinder","literal":{"literalType":"BooleanLiteral","value":true}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[25,23],"start":[25,22]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[25,5]}},"binderType":"NullBinder"}],"expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[26,20],"start":[26,10]}},"kind":"Var","type":{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[{"annotation":[{"end":[23,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,19]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[23,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"brokenEven","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[26,34],"start":[26,10]}},"argument":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[26,30],"start":[26,25]}},"kind":"Var","type":{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,10]},[]],"contents":[{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,10]},[]],"contents":[{"annotation":[{"end":[8,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,14]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,10]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"value":{"identifier":"minus","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[26,33],"start":[26,22]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[26,23],"start":[26,22]}},"kind":"Var","type":{"annotation":[{"end":[23,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"n","sourcePos":[24,1]}},"kind":"App","type":{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[{"annotation":[{"end":[8,23],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,21]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[8,20],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,17]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[26,33],"start":[26,22]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[26,33],"start":[26,32]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[8,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[8,24]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"App","type":{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"isGuarded":false}],"caseExpressions":[{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[25,13],"start":[25,11]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[25,16],"start":[25,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[25,16],"start":[25,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[25,9],"start":[25,8]}},"kind":"Var","type":{"annotation":[{"end":[23,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"n","sourcePos":[24,1]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[25,16],"start":[25,8]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[25,16],"start":[25,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":0}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}}],"kind":"Case","type":{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[23,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[23,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[23,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"brokenEven"}]},{"annotation":{"meta":null,"sourceSpan":{"end":[187,22],"start":[187,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[188,17],"start":[188,9]}},"kind":"Literal","type":{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,10]},[]],"contents":[{"annotation":[{"end":[187,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,10]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,11]},[]],"contents":["foo",{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,18]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,21]},[]],"contents":[{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,21]},[]],"tag":"REmpty"},{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,18]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["foo",{"annotation":{"meta":null,"sourceSpan":{"end":[188,16],"start":[188,15]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}}]]}},"identifier":"anObj"},{"annotation":{"meta":null,"sourceSpan":{"end":[190,26],"start":[190,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[191,28],"start":[191,13]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[191,28],"start":[191,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[191,18],"start":[191,13]}},"kind":"Var","type":{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,10]},[]],"contents":[{"annotation":[{"end":[187,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,10]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,11]},[]],"contents":["foo",{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,18]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,21]},[]],"contents":[{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,21]},[]],"tag":"REmpty"},{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,18]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"anObj","moduleName":["Lib"]}},"identifier":"v"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[191,28],"start":[191,13]}},"copy":[],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,10]},[]],"contents":[{"annotation":[{"end":[187,11],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,10]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,11]},[]],"contents":["foo",{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,18]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,21]},[]],"contents":[{"annotation":[{"end":[187,22],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,21]},[]],"tag":"REmpty"},{"annotation":[{"end":[187,21],"name":"tests/purus/passing/Misc/Lib.purs","start":[187,18]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"v","sourcePos":[191,1]}},"kind":"ObjectUpdate","type":{"annotation":[{"end":[190,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,14]},[]],"contents":[{"annotation":[{"end":[190,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[190,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,15]},[]],"contents":["foo",{"annotation":[{"end":[190,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[190,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,25]},[]],"contents":[{"annotation":[{"end":[190,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,25]},[]],"tag":"REmpty"},{"annotation":[{"end":[190,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"updates":[["foo",{"annotation":{"meta":null,"sourceSpan":{"end":[191,27],"start":[191,26]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}}]]},"kind":"Let","type":{"annotation":[{"end":[190,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,14]},[]],"contents":[{"annotation":[{"end":[190,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,14]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[190,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,15]},[]],"contents":["foo",{"annotation":[{"end":[190,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[190,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,25]},[]],"contents":[{"annotation":[{"end":[190,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,25]},[]],"tag":"REmpty"},{"annotation":[{"end":[190,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[190,22]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"}},"identifier":"objUpdate"},{"annotation":{"meta":null,"sourceSpan":{"end":[111,16],"start":[111,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[112,13],"start":[112,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"identifier":"anIntLit"},{"annotation":{"meta":null,"sourceSpan":{"end":[117,12],"start":[117,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[118,9],"start":[118,8]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"identifier":"aVal"},{"annotation":{"meta":null,"sourceSpan":{"end":[114,21],"start":[114,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[115,20],"start":[115,14]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"String"],"tag":"TypeConstructor"},"value":{"literalType":"StringLiteral","value":"woop"}},"identifier":"aStringLit"},{"annotation":{"meta":null,"sourceSpan":{"end":[203,24],"start":[203,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[204,15],"start":[204,1]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[204,15],"start":[204,11]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":true}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[203,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[203,10]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[203,24],"name":"tests/purus/passing/Misc/Lib.purs","start":[203,17]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"aPred"},{"annotation":{"meta":null,"sourceSpan":{"end":[129,19],"start":[129,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[130,20],"start":[130,9]}},"kind":"Literal","type":{"annotation":[{"end":[129,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,10]},[]],"contents":[{"annotation":[{"end":[129,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,10]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[129,19],"name":"tests/purus/passing/Misc/Lib.purs","start":[129,16]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[130,11],"start":[130,10]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},{"annotation":{"meta":null,"sourceSpan":{"end":[130,13],"start":[130,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},{"annotation":{"meta":null,"sourceSpan":{"end":[130,15],"start":[130,14]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":3}},{"annotation":{"meta":null,"sourceSpan":{"end":[130,17],"start":[130,16]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},{"annotation":{"meta":null,"sourceSpan":{"end":[130,19],"start":[130,18]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":5}}]}},"identifier":"aList"},{"annotation":{"meta":null,"sourceSpan":{"end":[143,60],"start":[143,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[144,19],"start":[144,1]}},"argument":"r","body":{"annotation":{"meta":null,"sourceSpan":{"end":[144,19],"start":[144,16]}},"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[144,17],"start":[144,16]}},"kind":"Var","type":{"annotation":[{"end":[143,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[{"annotation":[{"end":[143,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,40]},[]],"contents":["a",{"annotation":[{"end":[143,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,51]},[]],"contents":"r","tag":"TypeVar"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"identifier":"r","sourcePos":[144,1]}},"fieldName":"a","kind":"Accessor","type":{"annotation":[{"end":[143,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,57]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[143,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,15]},[]],"contents":{"identifier":"r","kind":{"annotation":[{"end":[143,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,28]},[]],"contents":[{"annotation":[{"end":[143,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,28]},[]],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"skolem":25,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[{"annotation":[{"end":[143,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,40]},[]],"contents":["a",{"annotation":[{"end":[143,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,51]},[]],"contents":"r","tag":"TypeVar"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[143,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,57]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"aFunction4"},{"annotation":{"meta":null,"sourceSpan":{"end":[146,18],"start":[146,1]}},"bindType":"NonRec","expression":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[147,24],"start":[147,14]}},"kind":"Var","type":{"annotation":[{"end":[143,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,15]},[]],"contents":{"identifier":"r","kind":{"annotation":[{"end":[143,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,28]},[]],"contents":[{"annotation":[{"end":[143,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,28]},[]],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"skolem":25,"type":{"annotation":[{"end":[143,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[{"annotation":[{"end":[143,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[{"annotation":[{"end":[143,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,54]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[{"annotation":[{"end":[143,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,40]},[]],"contents":["a",{"annotation":[{"end":[143,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,51]},[]],"contents":"r","tag":"TypeVar"}],"tag":"RCons"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[143,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,57]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"aFunction4","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[147,31],"start":[147,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[147,31],"start":[147,25]}},"kind":"Literal","type":{"annotation":[{"end":[143,53],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[{"annotation":[{"end":[143,40],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,39]},[]],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[{"end":[143,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,40]},[]],"contents":["a",{"annotation":[{"end":[143,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"tag":"REmpty"},{"annotation":[{"end":[143,36],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,32]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"KindApp"}],"tag":"RCons"}],"tag":"TypeApp"},"value":{"literalType":"ObjectLiteral","value":[["a",{"annotation":{"meta":null,"sourceSpan":{"end":[147,30],"start":[147,29]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}}]]}},"kind":"App","type":{"annotation":[{"end":[143,60],"name":"tests/purus/passing/Misc/Lib.purs","start":[143,57]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"aFunction5"},{"annotation":{"meta":null,"sourceSpan":{"end":[140,25],"start":[140,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[141,41],"start":[141,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[141,41],"start":[141,16]}},"caseAlternatives":[{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[141,41],"start":[141,16]}},"binderType":"LiteralBinder","literal":{"literalType":"BooleanLiteral","value":true}}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[141,34],"start":[141,33]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":4}},"isGuarded":false},{"binders":[{"annotation":{"meta":null,"sourceSpan":{"end":[141,41],"start":[141,16]}},"binderType":"NullBinder"}],"expression":{"annotation":{"meta":null,"sourceSpan":{"end":[141,41],"start":[141,40]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}},"isGuarded":false}],"caseExpressions":[{"abstraction":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[141,22],"start":[141,20]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":{"identifier":"a","kind":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":20,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarVisible"},"tag":"ForAll"},"value":{"identifier":"eq","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[141,24],"start":[141,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[0,0],"start":[0,0]}},"kind":"Var","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Lib"],"Eq$Dict"],"tag":"TypeConstructor"},{"annotation":[{"end":[11,16],"name":"tests/purus/passing/Misc/Lib.purs","start":[11,13]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"identifier":"eqInt","moduleName":["Lib"]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":[{"annotation":[{"end":[6,13],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,11]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,10],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,9]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[141,24],"start":[141,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[141,24],"start":[141,23]}},"kind":"Var","type":{"annotation":[{"end":[140,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[140,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[141,1]}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":[{"annotation":[{"end":[6,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,16]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[6,15],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,14]},[]],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[141,26],"start":[141,20]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[141,26],"start":[141,25]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":2}},"kind":"App","type":{"annotation":[{"end":[6,26],"name":"tests/purus/passing/Misc/Lib.purs","start":[6,19]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}}],"kind":"Case","type":{"annotation":[{"end":[140,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[140,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[140,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[140,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[140,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[140,22]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"identifier":"aFunction3"},{"annotation":{"meta":null,"sourceSpan":{"end":[137,31],"start":[137,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[138,21],"start":[138,1]}},"argument":"x","body":{"annotation":{"meta":null,"sourceSpan":{"end":[138,21],"start":[138,16]}},"kind":"Literal","type":{"annotation":[{"end":[137,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[137,22]},[]],"contents":[{"annotation":[{"end":[137,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[137,22]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[137,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[137,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"value":{"literalType":"ArrayLiteral","value":[{"annotation":{"meta":null,"sourceSpan":{"end":[138,18],"start":[138,17]}},"kind":"Var","type":{"annotation":[{"end":[137,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[137,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"identifier":"x","sourcePos":[138,1]}},{"annotation":{"meta":null,"sourceSpan":{"end":[138,20],"start":[138,19]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":1}}]}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[137,18],"name":"tests/purus/passing/Misc/Lib.purs","start":[137,15]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[{"end":[137,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[137,22]},[]],"contents":[{"annotation":[{"end":[137,27],"name":"tests/purus/passing/Misc/Lib.purs","start":[137,22]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[137,31],"name":"tests/purus/passing/Misc/Lib.purs","start":[137,28]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"identifier":"aFunction2"},{"annotation":{"meta":null,"sourceSpan":{"end":[134,56],"start":[134,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[135,24],"start":[135,1]}},"argument":"any","body":{"annotation":{"meta":null,"sourceSpan":{"end":[135,24],"start":[135,1]}},"argument":"f","body":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[135,20],"start":[135,19]}},"kind":"Var","type":{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"f","sourcePos":[135,1]}},"annotation":{"meta":null,"sourceSpan":{"end":[135,24],"start":[135,19]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[135,24],"start":[135,21]}},"kind":"Var","type":{"annotation":[{"end":[134,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,24]},[]],"contents":"x","tag":"TypeVar"},"value":{"identifier":"any","sourcePos":[135,1]}},"kind":"App","type":{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Abs","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"kind":"Abs","type":{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,14]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[134,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,26]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":28,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,24]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,29]},[]],"contents":[{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,29]},[]],"contents":[{"annotation":[{"end":[134,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,50]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"aFunction"},{"annotation":{"meta":null,"sourceSpan":{"end":[149,18],"start":[149,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":{"metaType":"IsWhere"},"sourceSpan":{"end":[150,29],"start":[150,14]}},"binds":[{"annotation":{"meta":null,"sourceSpan":{"end":[152,39],"start":[152,5]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[153,14],"start":[153,5]}},"argument":"v","body":{"annotation":{"meta":null,"sourceSpan":{"end":[153,14],"start":[153,12]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"},"value":{"literalType":"IntLiteral","value":10}},"kind":"Abs","type":{"annotation":[{"end":[152,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,11]},[]],"contents":{"identifier":"z","kind":{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,24]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":31,"type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[152,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,31]},[]],"contents":"z","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[152,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,36]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"identifier":"go"}],"expression":{"abstraction":{"abstraction":{"annotation":{"meta":null,"sourceSpan":{"end":[150,23],"start":[150,14]}},"kind":"Var","type":{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,14]},[]],"contents":{"identifier":"x","kind":{"annotation":[{"end":[134,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,26]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":28,"type":{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,24]},[]],"contents":[{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,24]},[]],"contents":[{"annotation":[{"end":[134,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,26]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,25],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,24]},[]],"contents":"x","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,29]},[]],"contents":[{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,29]},[]],"contents":[{"annotation":[{"end":[134,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,50]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"aFunction","moduleName":["Lib"]}},"annotation":{"meta":null,"sourceSpan":{"end":[150,26],"start":[150,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[150,26],"start":[150,24]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"},{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":124,"tag":"TUnknown"}],"tag":"TypeApp"},"value":{"literalType":"ArrayLiteral","value":[]}},"kind":"App","type":{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,29]},[]],"contents":[{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,29]},[]],"contents":[{"annotation":[{"end":[134,52],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,50]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,30]},[]],"contents":{"identifier":"y","kind":{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":27,"type":{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":[{"annotation":[{"end":[134,44],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,42]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[134,41],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,40]},[]],"contents":"y","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[134,48],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,45]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}],"tag":"TypeApp"},{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"annotation":{"meta":null,"sourceSpan":{"end":[150,29],"start":[150,14]}},"argument":{"annotation":{"meta":null,"sourceSpan":{"end":[150,29],"start":[150,27]}},"kind":"Var","type":{"annotation":[{"end":[152,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,11]},[]],"contents":{"identifier":"z","kind":{"annotation":[{"end":[152,28],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,24]},[]],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"},"skolem":31,"type":{"annotation":[{"end":[152,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,31]},[]],"contents":[{"annotation":[{"end":[152,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,31]},[]],"contents":[{"annotation":[{"end":[152,35],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,33]},[]],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[{"end":[152,32],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,31]},[]],"contents":"z","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[{"end":[152,39],"name":"tests/purus/passing/Misc/Lib.purs","start":[152,36]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"value":{"identifier":"go","sourcePos":[152,5]}},"kind":"App","type":{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"kind":"Let","type":{"annotation":[{"end":[134,56],"name":"tests/purus/passing/Misc/Lib.purs","start":[134,53]},[]],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}},"identifier":"aFunction6"},{"annotation":{"meta":null,"sourceSpan":{"end":[126,17],"start":[126,1]}},"bindType":"NonRec","expression":{"annotation":{"meta":null,"sourceSpan":{"end":[127,13],"start":[127,9]}},"kind":"Literal","type":{"annotation":[{"end":[0,0],"name":"","start":[0,0]},[]],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"},"value":{"literalType":"BooleanLiteral","value":true}},"identifier":"aBool"}],"exports":["eq","eq2","minus","testEq","workingEven","brokenEven","testEq2","ConInt","ConInts","ConBoolean","ConString","ConChar","ConNested","ConQuantified","ConConstrained","ConObject","ConObjectQuantified","testBinders","mutuallyRecursiveBindingGroup","mutuallyRecursiveBindingGroupNoTypes","nestedBinds","ADataRec","ANewTypeRec","Constr1","Constr2","anIntLit","aStringLit","aVal","testasum","aBool","aList","aFunction","aFunction2","aFunction3","aFunction4","aFunction5","aFunction6","recF1","recG1","testBuiltin","plus","main","nestedApplications","anObj","objUpdate","polyInObj","polyInObjMatch","aPred","cons","emptyList","consEmptyList1","consEmptyList2","eqInt","eq2IntBoolean"],"foreign":[],"imports":[{"annotation":{"meta":null,"sourceSpan":{"end":[213,40],"start":[1,1]}},"moduleName":["Builtin"]},{"annotation":{"meta":null,"sourceSpan":{"end":[213,40],"start":[1,1]}},"moduleName":["Lib"]},{"annotation":{"meta":null,"sourceSpan":{"end":[213,40],"start":[1,1]}},"moduleName":["Prim"]}],"moduleName":["Lib"],"modulePath":"tests/purus/passing/Misc/Lib.purs","reExports":{},"sourceSpan":{"end":[213,40],"start":[1,1]}} \ No newline at end of file diff --git a/tests/purus/passing/Misc/output/Lib/index.cfn.pretty b/tests/purus/passing/Misc/output/Lib/index.cfn.pretty index 8044effd..b05ea18c 100644 --- a/tests/purus/passing/Misc/output/Lib/index.cfn.pretty +++ b/tests/purus/passing/Misc/output/Lib/index.cfn.pretty @@ -32,6 +32,7 @@ Exports: anIntLit, aStringLit, aVal, + testasum, aBool, aList, aFunction, @@ -128,6 +129,13 @@ eq2IntBoolean = }): (Eq2$Dict Int Boolean)) +testasum :: ASum -> Int +testasum = + \(x: ASum) -> + case (x: ASum) of + Constr1 y -> (1: Int) + Constr2 z -> (2: Int) + testBuiltin :: Int testBuiltin = ((addInteger: Int -> Int -> Int) (1: Int) (2: Int): Int) diff --git a/tests/purus/passing/Misc/output/Lib/main.plc b/tests/purus/passing/Misc/output/Lib/main.plc deleted file mode 100644 index 9c872e41..00000000 --- a/tests/purus/passing/Misc/output/Lib/main.plc +++ /dev/null @@ -1 +0,0 @@ -Program {_progAnn = Original (), _progVer = Version {_versionMajor = 1, _versionMinor = 1, _versionPatch = 0}, _progTerm = Constant (Original ()) (Some (ValueOf DefaultUniInteger 2))} \ No newline at end of file diff --git a/tests/purus/passing/Misc/output/cache-db.json b/tests/purus/passing/Misc/output/cache-db.json index c8390823..f3bbaa3e 100644 --- a/tests/purus/passing/Misc/output/cache-db.json +++ b/tests/purus/passing/Misc/output/cache-db.json @@ -1 +1 @@ -{"Lib":{"tests/purus/passing/Misc/Lib.purs":["2024-03-23T04:32:51.16219073Z","29c80a631685fa294c0e4598b638156014729534f1208e2b077577b1ab3e57304161c1a863d85958a2691b45929f29ef5858f9cda5d4bc9ac10ee0d6565fc197"]}} \ No newline at end of file +{"Lib":{"tests/purus/passing/Misc/Lib.purs":["2024-03-26T03:50:35.378009063Z","67df09cb956fddb301a943d3a9301de86d847d195a18b89760b52ee0a7b2a07277a7ea8dda1c56e39db6fb013f871c71b63e44bde504f27e89c6eb8fe5f7b4e0"]}} \ No newline at end of file