summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-01-21 16:38:52 +0100
committerPéter Diviánszky <divipp@gmail.com>2016-01-21 18:12:46 +0100
commit199773cce8f76db2b5bfcd9a2d5564f9e00b116e (patch)
treed6f409a2bb9a6c2c8e59f33591e22c6aa50d1671
parent417611db4cb78504b19b7e1b93cbfade7254ae4e (diff)
wip refactoring (results better error ranges as a side effect)
-rw-r--r--src/LambdaCube/Compiler/Infer.hs26
-rw-r--r--testdata/Builtins.out1277
-rw-r--r--testdata/Internals.out19
-rw-r--r--testdata/Prelude.out695
-rw-r--r--testdata/accumulate01.reject.out6
-rw-r--r--testdata/ambig.out9
-rw-r--r--testdata/complex.out301
-rw-r--r--testdata/id.out7
-rw-r--r--testdata/instantiate.out2
-rw-r--r--testdata/language-features/basic-values/case05.out2
-rw-r--r--testdata/language-features/basic-values/case06.out2
-rw-r--r--testdata/language-features/basic-values/deforder03.out2
-rw-r--r--testdata/language-features/basic-values/deforder06.out2
-rw-r--r--testdata/language-features/basic-values/lambda03.out1
-rw-r--r--testdata/language-features/basic-values/shadowing02.out2
-rw-r--r--testdata/language-features/basic-values/typesig03.out16
-rw-r--r--testdata/let.out2
-rw-r--r--testdata/letIndent.out1
-rw-r--r--testdata/record01.reject.out4
-rw-r--r--testdata/traceTest.out1
-rw-r--r--testdata/typeclass.out31
-rw-r--r--testdata/zip01.out40
22 files changed, 1847 insertions, 601 deletions
diff --git a/src/LambdaCube/Compiler/Infer.hs b/src/LambdaCube/Compiler/Infer.hs
index 83111855..71ef1958 100644
--- a/src/LambdaCube/Compiler/Infer.hs
+++ b/src/LambdaCube/Compiler/Infer.hs
@@ -566,8 +566,9 @@ substSS k x = mapS__ (\si _ x -> SGlobal (si, x)) (error "substSS") (\sn (i, x)
566 LT -> SVar sn j 566 LT -> SVar sn j
567 ) ((+1) *** upS) (k, x) 567 ) ((+1) *** upS) (k, x)
568substS j x = mapS (uncurry $ substE "substS") ((+1) *** up1E 0) (j, x) 568substS j x = mapS (uncurry $ substE "substS") ((+1) *** up1E 0) (j, x)
569substSG j x = mapS_ (\si x i -> if i == j then x else SGlobal (si, i)) (const id) upS x 569substSG :: SName -> (SI -> SExp) -> SExp -> SExp
570substSG0 n e = substSG n (SVar (sexpSI e, n) 0) $ upS e 570substSG j x = mapS_ (\si x i -> if i == j then x si else SGlobal (si, i)) (const id) (fmap upS) x
571substSG0 n e = substSG n (\si -> (SVar (si, n) 0)) $ upS e
571 572
572substE err = substE_ (error $ "substE: todo: environment required in " ++ err) -- todo: remove 573substE err = substE_ (error $ "substE: todo: environment required in " ++ err) -- todo: remove
573 574
@@ -1833,17 +1834,20 @@ parseDef ns e =
1833 (id *** (vt:)) <$> (comma *> telescopeDataFields ns (x: vs) <|> pure (vs, [])) 1834 (id *** (vt:)) <$> (comma *> telescopeDataFields ns (x: vs) <|> pure (vs, []))
1834 1835
1835funAltDef parseName ns e = do -- todo: use ns to determine parseName 1836funAltDef parseName ns e = do -- todo: use ns to determine parseName
1836 (n, (fe@(DBNamesC fe_), ts)) <- 1837 (n, (fee, tss)) <-
1837 do try' "operator definition" $ do 1838 do try' "operator definition" $ do
1838 (e', a1) <- patternAtom ns (addDBName "" e) 1839 (e', a1) <- patternAtom ns e
1839 localIndentation Gt $ do 1840 localIndentation Gt $ do
1840 (si,n) <- siName $ operatorT 1841 n <- siName operatorT
1841 (e'', a2) <- patternAtom ns $ addDBNames (init (diffDBNames e' e) ++ [n]) e 1842 (e'', a2) <- patternAtom ns e'
1842 lookAhead $ reservedOp "=" <|> reservedOp "|" 1843 lookAhead $ reservedOp "=" <|> reservedOp "|"
1843 return ((si, n), (e'', (,) (Visible, Wildcard SType) <$> [a1, a2])) 1844 return (n, (e'', (,) (Visible, Wildcard SType) <$> [a1, a2]))
1844 <|> do try $ do 1845 <|> do try $ do
1845 (si,n) <- siName $ parseName 1846 n <- siName parseName
1846 localIndentation Gt $ (,) (si, n) <$> telescope' ns (addDBName n e) <* (lookAhead $ reservedOp "=" <|> reservedOp "|") 1847 localIndentation Gt $ (,) n <$> telescope' ns e <* (lookAhead $ reservedOp "=" <|> reservedOp "|")
1848 let fe@(DBNamesC fe_) = addDBNames (diffDBNames fee e) $ addDBName (snd n) e
1849 ts = map (id *** upP 0 1{-todo: replace n with Var 0-}) tss
1850 ni = length $ diffDBNames fee e
1847 localIndentation Gt $ do 1851 localIndentation Gt $ do
1848 gu <- option Nothing $ do 1852 gu <- option Nothing $ do
1849 reservedOp "|" 1853 reservedOp "|"
@@ -1909,7 +1913,7 @@ parseTerm ns PrecLam e =
1909 option t $ mkPi <$> (Visible <$ reservedOp "->" <|> Hidden <$ reservedOp "=>") <*> pure t <*> parseTTerm ns PrecLam e 1913 option t $ mkPi <$> (Visible <$ reservedOp "->" <|> Hidden <$ reservedOp "=>") <*> pure t <*> parseTTerm ns PrecLam e
1910parseTerm ns PrecEq e = parseTerm ns PrecAnn e >>= \t -> option t $ SCstr t <$ reservedOp "~" <*> parseTTerm ns PrecAnn e 1914parseTerm ns PrecEq e = parseTerm ns PrecAnn e >>= \t -> option t $ SCstr t <$ reservedOp "~" <*> parseTTerm ns PrecAnn e
1911parseTerm ns PrecAnn e = parseTerm ns PrecOp e >>= \t -> option t $ SAnn t <$> parseType ns Nothing e 1915parseTerm ns PrecAnn e = parseTerm ns PrecOp e >>= \t -> option t $ SAnn t <$> parseType ns Nothing e
1912parseTerm ns PrecOp e = (asks $ \dcls -> calculatePrecs dcls) <*> p' where 1916parseTerm ns PrecOp e = asks calculatePrecs <*> p' where
1913 p' = ((\si (t, xs) -> (mkNat ns si 0, (sVar e (debugSI "12") "-", t): xs)) `withRange` (reservedOp "-" *> p_)) 1917 p' = ((\si (t, xs) -> (mkNat ns si 0, (sVar e (debugSI "12") "-", t): xs)) `withRange` (reservedOp "-" *> p_))
1914 <|> p_ 1918 <|> p_
1915 p_ = (,) <$> parseTerm ns PrecApp e <*> (option [] $ (sVar e (debugSI "12b") <$> operatorT) >>= p) 1919 p_ = (,) <$> parseTerm ns PrecApp e <*> (option [] $ (sVar e (debugSI "12b") <$> operatorT) >>= p)
@@ -2044,7 +2048,7 @@ listCompr ns dbs = (\e (dbs', fs) -> foldr ($) (deBruinify (diffDBNames dbs' dbs
2044-- todo: make it more efficient 2048-- todo: make it more efficient
2045diffDBNames' xs ys = take (length xs - length ys) xs 2049diffDBNames' xs ys = take (length xs - length ys) xs
2046 2050
2047deBruinify' xs e = foldl (\e (i, n) -> substSG n (SVar (debugSI "26", n) i) e) e $ zip [0..] xs 2051deBruinify' xs e = foldl (\e (i, n) -> substSG n (\si -> SVar (si, n) i) e) e $ zip [0..] xs
2048 2052
2049deBruinify :: [String] -> SExp -> SExp 2053deBruinify :: [String] -> SExp -> SExp
2050deBruinify [] e = e 2054deBruinify [] e = e
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index 38e5aa91..f84e8d03 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -1,5 +1,6 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/Builtins.lc 9:8-9:9 V1
3testdata/Builtins.lc 9:1-9:3 {a} -> a->a 4testdata/Builtins.lc 9:1-9:3 {a} -> a->a
4testdata/Builtins.lc 13:6-13:9 Type 5testdata/Builtins.lc 13:6-13:9 Type
5testdata/Builtins.lc 13:12-13:16 'Nat 6testdata/Builtins.lc 13:12-13:16 'Nat
@@ -13,13 +14,18 @@ testdata/Builtins.lc 15:26-15:27 Type
13testdata/Builtins.lc 15:29-15:33 Type->Type 14testdata/Builtins.lc 15:29-15:33 Type->Type
14testdata/Builtins.lc 15:34-15:35 Type 15testdata/Builtins.lc 15:34-15:35 Type
15testdata/Builtins.lc 15:21-15:25 {a} -> a -> 'List a -> 'List a 16testdata/Builtins.lc 15:21-15:25 {a} -> a -> 'List a -> 'List a
16testdata/Builtins.lc 20:22-23:31 Type -> Type->Type 17testdata/Builtins.lc 19:26-23:31 Type -> Type->Type
17testdata/Builtins.lc 20:22-23:31 Type->Type 18testdata/Builtins.lc 19:26-23:31 Type->Type
19testdata/Builtins.lc 19:26-23:31 Type
20testdata/Builtins.lc 19:26-19:27 Type
18testdata/Builtins.lc 20:22-23:31 Type 21testdata/Builtins.lc 20:22-23:31 Type
19testdata/Builtins.lc 20:30-20:39 Type -> Type->Type 22testdata/Builtins.lc 20:30-20:39 Type -> Type->Type
20testdata/Builtins.lc 20:30-20:39 Type->Type 23testdata/Builtins.lc 20:30-20:39 Type->Type
21testdata/Builtins.lc 20:30-20:39 Type 24testdata/Builtins.lc 20:30-20:39 Type
22testdata/Builtins.lc 20:30-20:39 Type -> Type -> Type->Type 25testdata/Builtins.lc 20:30-20:39 Type -> Type -> Type->Type
26testdata/Builtins.lc 20:31-20:32 Type
27testdata/Builtins.lc 20:34-20:35 Type
28testdata/Builtins.lc 20:37-20:38 Type
23testdata/Builtins.lc 20:22-20:26 Type 29testdata/Builtins.lc 20:22-20:26 Type
24testdata/Builtins.lc 21:22-23:31 Type 30testdata/Builtins.lc 21:22-23:31 Type
25testdata/Builtins.lc 21:33-21:45 Type -> Type -> Type->Type 31testdata/Builtins.lc 21:33-21:45 Type -> Type -> Type->Type
@@ -27,6 +33,10 @@ testdata/Builtins.lc 21:33-21:45 Type -> Type->Type
27testdata/Builtins.lc 21:33-21:45 Type->Type 33testdata/Builtins.lc 21:33-21:45 Type->Type
28testdata/Builtins.lc 21:33-21:45 Type 34testdata/Builtins.lc 21:33-21:45 Type
29testdata/Builtins.lc 21:33-21:45 Type -> Type -> Type -> Type->Type 35testdata/Builtins.lc 21:33-21:45 Type -> Type -> Type -> Type->Type
36testdata/Builtins.lc 21:34-21:35 Type
37testdata/Builtins.lc 21:37-21:38 Type
38testdata/Builtins.lc 21:40-21:41 Type
39testdata/Builtins.lc 21:43-21:44 Type
30testdata/Builtins.lc 21:22-21:29 Type 40testdata/Builtins.lc 21:22-21:29 Type
31testdata/Builtins.lc 22:22-23:31 Type 41testdata/Builtins.lc 22:22-23:31 Type
32testdata/Builtins.lc 22:36-22:51 Type -> Type -> Type -> Type->Type 42testdata/Builtins.lc 22:36-22:51 Type -> Type -> Type -> Type->Type
@@ -35,9 +45,16 @@ testdata/Builtins.lc 22:36-22:51 Type -> Type->Type
35testdata/Builtins.lc 22:36-22:51 Type->Type 45testdata/Builtins.lc 22:36-22:51 Type->Type
36testdata/Builtins.lc 22:36-22:51 Type 46testdata/Builtins.lc 22:36-22:51 Type
37testdata/Builtins.lc 22:36-22:51 Type -> Type -> Type -> Type -> Type->Type 47testdata/Builtins.lc 22:36-22:51 Type -> Type -> Type -> Type -> Type->Type
48testdata/Builtins.lc 22:37-22:38 Type
49testdata/Builtins.lc 22:40-22:41 Type
50testdata/Builtins.lc 22:43-22:44 Type
51testdata/Builtins.lc 22:46-22:47 Type
52testdata/Builtins.lc 22:49-22:50 Type
38testdata/Builtins.lc 22:22-22:32 Type 53testdata/Builtins.lc 22:22-22:32 Type
39testdata/Builtins.lc 23:25-23:31 Type 54testdata/Builtins.lc 23:25-23:31 Type
40testdata/Builtins.lc 23:25-23:31 Type -> Type->Type 55testdata/Builtins.lc 23:25-23:31 Type -> Type->Type
56testdata/Builtins.lc 23:26-23:27 Type
57testdata/Builtins.lc 23:29-23:30 Type
41testdata/Builtins.lc 19:5-19:18 Type -> Type->Type 58testdata/Builtins.lc 19:5-19:18 Type -> Type->Type
42testdata/Builtins.lc 26:10-26:24 Type->Type 59testdata/Builtins.lc 26:10-26:24 Type->Type
43testdata/Builtins.lc 26:10-26:24 Type 60testdata/Builtins.lc 26:10-26:24 Type
@@ -84,28 +101,38 @@ testdata/Builtins.lc 35:29-35:33 Type -> 'Nat->Type
84testdata/Builtins.lc 35:34-35:35 Type 101testdata/Builtins.lc 35:34-35:35 Type
85testdata/Builtins.lc 35:3-35:5 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 102testdata/Builtins.lc 35:3-35:5 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
86testdata/Builtins.lc 37:23-37:26 Type 103testdata/Builtins.lc 37:23-37:26 Type
87testdata/Builtins.lc 37:47-37:51 'Nat -> Type->Type 104testdata/Builtins.lc 37:47-37:55 'Nat -> Type->Type
88testdata/Builtins.lc 37:47-37:51 Type->Type 105testdata/Builtins.lc 37:47-37:55 Type->Type
89testdata/Builtins.lc 37:47-37:51 Type 106testdata/Builtins.lc 37:47-37:55 Type
90testdata/Builtins.lc 37:47-37:51 Type -> 'Nat->Type 107testdata/Builtins.lc 37:47-37:51 Type -> 'Nat->Type
108testdata/Builtins.lc 37:52-37:53 Type
109testdata/Builtins.lc 37:54-37:55 'Nat
91testdata/Builtins.lc 37:37-37:40 'Nat -> Type->Type 110testdata/Builtins.lc 37:37-37:40 'Nat -> Type->Type
92testdata/Builtins.lc 39:29-39:32 Type 111testdata/Builtins.lc 39:29-39:32 Type
93testdata/Builtins.lc 40:15-41:54 'Nat -> Type->Type 112testdata/Builtins.lc 40:15-41:60 'Nat -> Type->Type
94testdata/Builtins.lc 40:15-41:54 Type->Type 113testdata/Builtins.lc 40:15-41:60 Type->Type
95testdata/Builtins.lc 40:15-41:54 Type 114testdata/Builtins.lc 40:15-41:60 Type
96testdata/Builtins.lc 41:37-41:54 'Nat->Type 115testdata/Builtins.lc 40:21-41:60 'Nat->Type
97testdata/Builtins.lc 41:37-41:54 Type 116testdata/Builtins.lc 40:21-41:60 Type
117testdata/Builtins.lc 40:21-40:22 Type
118testdata/Builtins.lc 41:37-41:60 'Nat->Type
119testdata/Builtins.lc 41:37-41:60 Type
98testdata/Builtins.lc 41:37-41:40 'Nat -> Type->Type 120testdata/Builtins.lc 41:37-41:40 'Nat -> Type->Type
99testdata/Builtins.lc 41:43-41:54 'Nat 121testdata/Builtins.lc 41:43-41:56 'Nat
100testdata/Builtins.lc 41:43-41:47 'Nat->'Nat 122testdata/Builtins.lc 41:43-41:47 'Nat->'Nat
101testdata/Builtins.lc 41:50-41:54 'Nat 123testdata/Builtins.lc 41:50-41:56 'Nat
102testdata/Builtins.lc 41:50-41:54 'Nat->'Nat 124testdata/Builtins.lc 41:50-41:54 'Nat->'Nat
125testdata/Builtins.lc 41:55-41:56 'Nat
126testdata/Builtins.lc 41:59-41:60 Type
103testdata/Builtins.lc 40:15-40:16 'Nat 127testdata/Builtins.lc 40:15-40:16 'Nat
104testdata/Builtins.lc 40:5-40:14 'Nat -> Type->Type 128testdata/Builtins.lc 40:5-40:14 'Nat -> Type->Type
105testdata/Builtins.lc 44:25-44:28 Type 129testdata/Builtins.lc 44:25-44:28 Type
130testdata/Builtins.lc 45:17-45:24 'Nat -> Type->Type
131testdata/Builtins.lc 45:17-45:24 Type->Type
132testdata/Builtins.lc 45:17-45:24 Type
106testdata/Builtins.lc 45:17-45:20 'Nat -> Type->Type 133testdata/Builtins.lc 45:17-45:20 'Nat -> Type->Type
107testdata/Builtins.lc 45:17-45:20 Type->Type 134testdata/Builtins.lc 45:21-45:22 'Nat
108testdata/Builtins.lc 45:17-45:20 Type 135testdata/Builtins.lc 45:23-45:24 Type
109testdata/Builtins.lc 45:5-45:10 'Nat -> Type->Type 136testdata/Builtins.lc 45:5-45:10 'Nat -> Type->Type
110testdata/Builtins.lc 48:13-48:16 Type 137testdata/Builtins.lc 48:13-48:16 Type
111testdata/Builtins.lc 48:20-48:39 Type 138testdata/Builtins.lc 48:20-48:39 Type
@@ -230,18 +257,26 @@ testdata/Builtins.lc 53:64-57:84 Type
230testdata/Builtins.lc 54:64-57:84 Type 257testdata/Builtins.lc 54:64-57:84 Type
231testdata/Builtins.lc 55:79-57:84 Type 258testdata/Builtins.lc 55:79-57:84 Type
232testdata/Builtins.lc 56:79-57:84 Type 259testdata/Builtins.lc 56:79-57:84 Type
233testdata/Builtins.lc 60:22-64:32 Type->Type 260testdata/Builtins.lc 60:22-64:37 Type->Type
234testdata/Builtins.lc 60:22-64:32 Type 261testdata/Builtins.lc 60:22-64:37 Type
235testdata/Builtins.lc 60:30-60:35 Type 262testdata/Builtins.lc 60:30-60:35 Type
236testdata/Builtins.lc 60:22-60:27 Type 263testdata/Builtins.lc 60:22-60:27 Type
237testdata/Builtins.lc 61:22-64:32 Type 264testdata/Builtins.lc 61:22-64:37 Type
238testdata/Builtins.lc 61:29-61:33 Type 265testdata/Builtins.lc 61:29-61:33 Type
239testdata/Builtins.lc 61:22-61:26 Type 266testdata/Builtins.lc 61:22-61:26 Type
240testdata/Builtins.lc 62:22-64:32 Type 267testdata/Builtins.lc 62:22-64:37 Type
241testdata/Builtins.lc 62:28-62:31 Type 268testdata/Builtins.lc 62:28-62:31 Type
242testdata/Builtins.lc 62:22-62:25 Type 269testdata/Builtins.lc 62:22-62:25 Type
243testdata/Builtins.lc 63:28-64:32 Type 270testdata/Builtins.lc 63:28-64:37 Type
271testdata/Builtins.lc 63:35-63:36 Type -> 'Nat->Type
272testdata/Builtins.lc 63:35-63:36 'Nat->Type
273testdata/Builtins.lc 63:35-63:36 Type
244testdata/Builtins.lc 63:28-63:31 Type 274testdata/Builtins.lc 63:28-63:31 Type
275testdata/Builtins.lc 64:27-64:37 Type
276testdata/Builtins.lc 64:36-64:37 'Nat -> 'Nat -> Type->Type
277testdata/Builtins.lc 64:36-64:37 'Nat -> Type->Type
278testdata/Builtins.lc 64:36-64:37 Type->Type
279testdata/Builtins.lc 64:36-64:37 Type
245testdata/Builtins.lc 64:27-64:32 Type 280testdata/Builtins.lc 64:27-64:32 Type
246testdata/Builtins.lc 60:5-60:21 Type->Type 281testdata/Builtins.lc 60:5-60:21 Type->Type
247testdata/Builtins.lc 68:6-68:11 Type 282testdata/Builtins.lc 68:6-68:11 Type
@@ -262,37 +297,43 @@ testdata/Builtins.lc 71:49-71:56 Type
262testdata/Builtins.lc 71:49-71:52 'Nat -> Type->Type 297testdata/Builtins.lc 71:49-71:52 'Nat -> Type->Type
263testdata/Builtins.lc 71:53-71:54 'Nat 298testdata/Builtins.lc 71:53-71:54 'Nat
264testdata/Builtins.lc 71:55-71:56 Type 299testdata/Builtins.lc 71:55-71:56 Type
265testdata/Builtins.lc 72:24-75:44 {a} -> {b} -> {c:'Nat} -> a->b -> 'VecS a c -> 'VecS b c 300testdata/Builtins.lc 72:24-77:6 {a} -> {b} -> {c:'Nat} -> a->b -> 'VecS a c -> 'VecS b c
266testdata/Builtins.lc 72:24-75:44 {a} -> {b:'Nat} -> V2->a -> 'VecS V3 b -> 'VecS a b 301testdata/Builtins.lc 72:24-77:6 {a} -> {b:'Nat} -> V2->a -> 'VecS V3 b -> 'VecS a b
267testdata/Builtins.lc 72:24-75:44 {a:'Nat} -> V2->V2 -> 'VecS V3 a -> 'VecS V3 a 302testdata/Builtins.lc 72:24-77:6 {a:'Nat} -> V2->V2 -> 'VecS V3 a -> 'VecS V3 a
268testdata/Builtins.lc 72:24-75:44 V2->V2 -> 'VecS V3 V1 -> 'VecS V3 V2 303testdata/Builtins.lc 72:24-77:6 V2->V2 -> 'VecS V3 V1 -> 'VecS V3 V2
269testdata/Builtins.lc 72:24-75:44 'VecS V3 V1 -> 'VecS V3 V2 304testdata/Builtins.lc 72:24-77:6 'VecS V3 V1 -> 'VecS V3 V2
270testdata/Builtins.lc 72:24-75:44 'VecS V3 V2 305testdata/Builtins.lc 72:24-77:6 'VecS V3 V2
271testdata/Builtins.lc 72:24-72:32 {a} -> (d : b:'Nat -> 'VecS a b -> Type) -> (e:a -> f:a -> d (Succ (Succ Zero)) (V2 a e f)) -> (h:a -> i:a -> j:a -> d (Succ (Succ (Succ Zero))) (V3 a h i j)) -> (l:a -> m:a -> n:a -> o:a -> d (Succ (Succ (Succ (Succ Zero)))) (V4 a l m n o)) -> {q:'Nat} -> (r : 'VecS a q) -> d q r 306testdata/Builtins.lc 72:24-72:32 {a} -> (d : b:'Nat -> 'VecS a b -> Type) -> (e:a -> f:a -> d (Succ (Succ Zero)) (V2 a e f)) -> (h:a -> i:a -> j:a -> d (Succ (Succ (Succ Zero))) (V3 a h i j)) -> (l:a -> m:a -> n:a -> o:a -> d (Succ (Succ (Succ (Succ Zero)))) (V4 a l m n o)) -> {q:'Nat} -> (r : 'VecS a q) -> d q r
272testdata/Builtins.lc 72:34-72:50 a:'Nat -> 'VecS V1 a -> Type 307testdata/Builtins.lc 72:34-72:50 a:'Nat -> 'VecS V1 a -> Type
273testdata/Builtins.lc 72:34-72:50 'VecS V1 V0 -> Type 308testdata/Builtins.lc 72:34-72:50 'VecS V1 V0 -> Type
274testdata/Builtins.lc 72:43-72:48 Type 309testdata/Builtins.lc 72:43-72:50 Type
275testdata/Builtins.lc 72:43-72:46 'Nat -> Type->Type 310testdata/Builtins.lc 72:43-72:46 'Nat -> Type->Type
276testdata/Builtins.lc 72:47-72:48 'Nat 311testdata/Builtins.lc 72:47-72:48 'Nat
312testdata/Builtins.lc 72:49-72:50 Type
277testdata/Builtins.lc 73:6-73:28 V0 -> V1 -> 'VecS V6 (Succ (Succ Zero)) 313testdata/Builtins.lc 73:6-73:28 V0 -> V1 -> 'VecS V6 (Succ (Succ Zero))
278testdata/Builtins.lc 73:6-73:28 V1 -> 'VecS V6 (Succ (Succ Zero)) 314testdata/Builtins.lc 73:6-73:28 V1 -> 'VecS V6 (Succ (Succ Zero))
279testdata/Builtins.lc 73:14-73:27 'VecS V6 (Succ (Succ Zero)) 315testdata/Builtins.lc 73:14-73:27 'VecS V6 (Succ (Succ Zero))
280testdata/Builtins.lc 73:14-73:16 {a} -> a -> a -> 'VecS a (Succ (Succ Zero)) 316testdata/Builtins.lc 73:14-73:16 {a} -> a -> a -> 'VecS a (Succ (Succ Zero))
281testdata/Builtins.lc 73:20-73:21 V0 317testdata/Builtins.lc 73:18-73:21 V0
318testdata/Builtins.lc 73:18-73:19 V8->V8
282testdata/Builtins.lc 73:20-73:21 V7 319testdata/Builtins.lc 73:20-73:21 V7
283testdata/Builtins.lc 73:20-73:21 V2 320testdata/Builtins.lc 73:20-73:21 V2
284testdata/Builtins.lc 73:26-73:27 V5 321testdata/Builtins.lc 73:24-73:27 V5
322testdata/Builtins.lc 73:24-73:25 V6->V6
285testdata/Builtins.lc 73:26-73:27 V6 323testdata/Builtins.lc 73:26-73:27 V6
286testdata/Builtins.lc 74:6-74:36 V4 -> V5 -> V6 -> 'VecS V6 (Succ (Succ (Succ Zero))) 324testdata/Builtins.lc 74:6-74:36 V4 -> V5 -> V6 -> 'VecS V6 (Succ (Succ (Succ Zero)))
287testdata/Builtins.lc 74:6-74:36 V5 -> V6 -> 'VecS V6 (Succ (Succ (Succ Zero))) 325testdata/Builtins.lc 74:6-74:36 V5 -> V6 -> 'VecS V6 (Succ (Succ (Succ Zero)))
288testdata/Builtins.lc 74:6-74:36 V6 -> 'VecS V6 (Succ (Succ (Succ Zero))) 326testdata/Builtins.lc 74:6-74:36 V6 -> 'VecS V6 (Succ (Succ (Succ Zero)))
289testdata/Builtins.lc 74:16-74:35 'VecS V6 (Succ (Succ (Succ Zero))) 327testdata/Builtins.lc 74:16-74:35 'VecS V6 (Succ (Succ (Succ Zero)))
290testdata/Builtins.lc 74:16-74:18 {a} -> a -> a -> a -> 'VecS a (Succ (Succ (Succ Zero))) 328testdata/Builtins.lc 74:16-74:18 {a} -> a -> a -> a -> 'VecS a (Succ (Succ (Succ Zero)))
291testdata/Builtins.lc 74:22-74:23 V0 329testdata/Builtins.lc 74:20-74:23 V0
330testdata/Builtins.lc 74:20-74:21 V8->V8
292testdata/Builtins.lc 74:22-74:23 V7 331testdata/Builtins.lc 74:22-74:23 V7
293testdata/Builtins.lc 74:28-74:29 V6 332testdata/Builtins.lc 74:26-74:29 V6
333testdata/Builtins.lc 74:26-74:27 V7->V7
294testdata/Builtins.lc 74:28-74:29 V7 334testdata/Builtins.lc 74:28-74:29 V7
295testdata/Builtins.lc 74:34-74:35 V6 335testdata/Builtins.lc 74:32-74:35 V6
336testdata/Builtins.lc 74:32-74:33 V7->V7
296testdata/Builtins.lc 74:34-74:35 V7 337testdata/Builtins.lc 74:34-74:35 V7
297testdata/Builtins.lc 75:6-75:44 V4 -> V5 -> V6 -> V7 -> 'VecS V7 (Succ (Succ (Succ (Succ Zero)))) 338testdata/Builtins.lc 75:6-75:44 V4 -> V5 -> V6 -> V7 -> 'VecS V7 (Succ (Succ (Succ (Succ Zero))))
298testdata/Builtins.lc 75:6-75:44 V5 -> V6 -> V7 -> 'VecS V7 (Succ (Succ (Succ (Succ Zero)))) 339testdata/Builtins.lc 75:6-75:44 V5 -> V6 -> V7 -> 'VecS V7 (Succ (Succ (Succ (Succ Zero))))
@@ -300,40 +341,61 @@ testdata/Builtins.lc 75:6-75:44 V6 -> V7 -> 'VecS V7 (Succ (Succ (Succ (Succ Ze
300testdata/Builtins.lc 75:6-75:44 V7 -> 'VecS V7 (Succ (Succ (Succ (Succ Zero)))) 341testdata/Builtins.lc 75:6-75:44 V7 -> 'VecS V7 (Succ (Succ (Succ (Succ Zero))))
301testdata/Builtins.lc 75:18-75:43 'VecS V7 (Succ (Succ (Succ (Succ Zero)))) 342testdata/Builtins.lc 75:18-75:43 'VecS V7 (Succ (Succ (Succ (Succ Zero))))
302testdata/Builtins.lc 75:18-75:20 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 343testdata/Builtins.lc 75:18-75:20 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
303testdata/Builtins.lc 75:24-75:25 V0 344testdata/Builtins.lc 75:22-75:25 V0
345testdata/Builtins.lc 75:22-75:23 V9->V9
304testdata/Builtins.lc 75:24-75:25 V8 346testdata/Builtins.lc 75:24-75:25 V8
305testdata/Builtins.lc 75:30-75:31 V7 347testdata/Builtins.lc 75:28-75:31 V7
348testdata/Builtins.lc 75:28-75:29 V8->V8
306testdata/Builtins.lc 75:30-75:31 V8 349testdata/Builtins.lc 75:30-75:31 V8
307testdata/Builtins.lc 75:36-75:37 V7 350testdata/Builtins.lc 75:34-75:37 V7
351testdata/Builtins.lc 75:34-75:35 V8->V8
308testdata/Builtins.lc 75:36-75:37 V8 352testdata/Builtins.lc 75:36-75:37 V8
309testdata/Builtins.lc 75:42-75:43 V7 353testdata/Builtins.lc 75:40-75:43 V7
354testdata/Builtins.lc 75:40-75:41 V8->V8
310testdata/Builtins.lc 75:42-75:43 V8 355testdata/Builtins.lc 75:42-75:43 V8
356testdata/Builtins.lc 76:6-76:7 'Nat
357testdata/Builtins.lc 77:5-77:6 'VecS V4 V2
311testdata/Builtins.lc 72:1-72:7 {a} -> {b} -> {c:'Nat} -> a->b -> 'VecS a c -> 'VecS b c 358testdata/Builtins.lc 72:1-72:7 {a} -> {b} -> {c:'Nat} -> a->b -> 'VecS a c -> 'VecS b c
312testdata/Builtins.lc 80:27-80:48 Type 359testdata/Builtins.lc 80:27-80:48 Type
313testdata/Builtins.lc 80:27-80:30 'Nat -> Type->Type 360testdata/Builtins.lc 80:27-80:30 'Nat -> Type->Type
314testdata/Builtins.lc 80:31-80:32 'Nat 361testdata/Builtins.lc 80:31-80:32 'Nat
315testdata/Builtins.lc 80:31-80:32 V1 362testdata/Builtins.lc 80:31-80:32 V1
316testdata/Builtins.lc 80:27-80:48 V2 363testdata/Builtins.lc 80:33-80:34 Type
364testdata/Builtins.lc 80:33-80:34 V2
365testdata/Builtins.lc 80:38-80:48 Type
317testdata/Builtins.lc 80:38-80:43 Type 366testdata/Builtins.lc 80:38-80:43 Type
318testdata/Builtins.lc 81:17-86:28 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a 367testdata/Builtins.lc 80:47-80:48 Type
319testdata/Builtins.lc 81:17-86:28 {a:'Nat} -> 'VecS V1 a -> 'Swizz->V3 368testdata/Builtins.lc 81:17-89:32 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a
320testdata/Builtins.lc 81:17-86:28 'VecS V1 V0 -> 'Swizz->V3 369testdata/Builtins.lc 81:17-89:32 {a:'Nat} -> 'VecS V1 a -> 'Swizz->V3
321testdata/Builtins.lc 81:17-86:28 'Swizz->V3 370testdata/Builtins.lc 81:17-89:32 'VecS V1 V0 -> 'Swizz->V3
322testdata/Builtins.lc 81:17-86:28 V3 371testdata/Builtins.lc 81:17-89:32 'Swizz->V3
323testdata/Builtins.lc 81:22-81:24 V1 -> V2->V2 372testdata/Builtins.lc 81:17-89:32 V3
324testdata/Builtins.lc 81:22-81:24 V2->V2 373testdata/Builtins.lc 81:22-82:28 V1 -> V2->V2
325testdata/Builtins.lc 81:22-81:24 V2 374testdata/Builtins.lc 81:22-82:28 V2->V2
375testdata/Builtins.lc 81:22-82:28 V2
376testdata/Builtins.lc 81:27-81:28 V0
377testdata/Builtins.lc 81:27-81:28 V4
378testdata/Builtins.lc 82:27-82:28 V3
326testdata/Builtins.lc 81:22-81:24 'Swizz 379testdata/Builtins.lc 81:22-81:24 'Swizz
327testdata/Builtins.lc 83:24-83:26 V0 -> V1 -> V2->V3 380testdata/Builtins.lc 83:24-85:30 V0 -> V1 -> V2->V3
328testdata/Builtins.lc 83:24-83:26 V1 -> V2->V3 381testdata/Builtins.lc 83:24-85:30 V1 -> V2->V3
329testdata/Builtins.lc 83:24-83:26 V2->V3 382testdata/Builtins.lc 83:24-85:30 V2->V3
330testdata/Builtins.lc 83:24-83:26 V3 383testdata/Builtins.lc 83:24-85:30 V3
384testdata/Builtins.lc 83:29-83:30 V0
385testdata/Builtins.lc 83:29-83:30 V4
386testdata/Builtins.lc 84:29-84:30 V3
387testdata/Builtins.lc 85:29-85:30 V3
331testdata/Builtins.lc 83:24-83:26 'Swizz 388testdata/Builtins.lc 83:24-83:26 'Swizz
332testdata/Builtins.lc 86:26-86:28 V0 -> V1 -> V2 -> V3->V4 389testdata/Builtins.lc 86:26-89:32 V0 -> V1 -> V2 -> V3->V4
333testdata/Builtins.lc 86:26-86:28 V1 -> V2 -> V3->V4 390testdata/Builtins.lc 86:26-89:32 V1 -> V2 -> V3->V4
334testdata/Builtins.lc 86:26-86:28 V2 -> V3->V4 391testdata/Builtins.lc 86:26-89:32 V2 -> V3->V4
335testdata/Builtins.lc 86:26-86:28 V3->V4 392testdata/Builtins.lc 86:26-89:32 V3->V4
336testdata/Builtins.lc 86:26-86:28 V4 393testdata/Builtins.lc 86:26-89:32 V4
394testdata/Builtins.lc 86:31-86:32 V0
395testdata/Builtins.lc 86:31-86:32 V5
396testdata/Builtins.lc 87:31-87:32 V4
397testdata/Builtins.lc 88:31-88:32 V4
398testdata/Builtins.lc 89:31-89:32 V4
337testdata/Builtins.lc 86:26-86:28 'Swizz 399testdata/Builtins.lc 86:26-86:28 'Swizz
338testdata/Builtins.lc 81:17-81:20 'VecS V1 V0 400testdata/Builtins.lc 81:17-81:20 'VecS V1 V0
339testdata/Builtins.lc 81:17-81:20 'VecS V5 V4 401testdata/Builtins.lc 81:17-81:20 'VecS V5 V4
@@ -369,23 +431,31 @@ testdata/Builtins.lc 97:38-97:71 Type
369testdata/Builtins.lc 97:38-97:41 'Nat -> Type->Type 431testdata/Builtins.lc 97:38-97:41 'Nat -> Type->Type
370testdata/Builtins.lc 97:42-97:43 'Nat 432testdata/Builtins.lc 97:42-97:43 'Nat
371testdata/Builtins.lc 97:42-97:43 V3 433testdata/Builtins.lc 97:42-97:43 V3
372testdata/Builtins.lc 97:38-97:71 V4 434testdata/Builtins.lc 97:44-97:45 Type
435testdata/Builtins.lc 97:44-97:45 V4
436testdata/Builtins.lc 97:49-97:71 Type
373testdata/Builtins.lc 97:49-97:52 'Nat -> Type->Type 437testdata/Builtins.lc 97:49-97:52 'Nat -> Type->Type
374testdata/Builtins.lc 97:53-97:54 'Nat 438testdata/Builtins.lc 97:53-97:54 'Nat
375testdata/Builtins.lc 97:53-97:54 V2 439testdata/Builtins.lc 97:53-97:54 V2
376testdata/Builtins.lc 97:55-97:60 Type 440testdata/Builtins.lc 97:55-97:60 Type
441testdata/Builtins.lc 97:64-97:71 Type
377testdata/Builtins.lc 97:64-97:67 'Nat -> Type->Type 442testdata/Builtins.lc 97:64-97:67 'Nat -> Type->Type
378testdata/Builtins.lc 97:68-97:69 'Nat 443testdata/Builtins.lc 97:68-97:69 'Nat
379testdata/Builtins.lc 98:19-98:53 {a} -> {b:'Nat} -> {c:'Nat} -> 'VecS a b -> 'VecS 'Swizz c -> 'VecS a c 444testdata/Builtins.lc 97:70-97:71 Type
380testdata/Builtins.lc 98:19-98:53 {a:'Nat} -> {b:'Nat} -> 'VecS V2 a -> 'VecS 'Swizz b -> 'VecS V4 b 445testdata/Builtins.lc 98:19-98:58 {a} -> {b:'Nat} -> {c:'Nat} -> 'VecS a b -> 'VecS 'Swizz c -> 'VecS a c
381testdata/Builtins.lc 98:19-98:53 {a:'Nat} -> 'VecS V2 V1 -> 'VecS 'Swizz a -> 'VecS V4 a 446testdata/Builtins.lc 98:19-98:58 {a:'Nat} -> {b:'Nat} -> 'VecS V2 a -> 'VecS 'Swizz b -> 'VecS V4 b
382testdata/Builtins.lc 98:19-98:53 'VecS V2 V1 -> 'VecS 'Swizz V1 -> 'VecS V4 V2 447testdata/Builtins.lc 98:19-98:58 {a:'Nat} -> 'VecS V2 V1 -> 'VecS 'Swizz a -> 'VecS V4 a
383testdata/Builtins.lc 98:19-98:53 'VecS 'Swizz V1 -> 'VecS V4 V2 448testdata/Builtins.lc 98:19-98:58 'VecS V2 V1 -> 'VecS 'Swizz V1 -> 'VecS V4 V2
384testdata/Builtins.lc 98:19-98:53 'VecS V4 V2 449testdata/Builtins.lc 98:19-98:58 'VecS 'Swizz V1 -> 'VecS V4 V2
385testdata/Builtins.lc 98:34-98:53 V0 450testdata/Builtins.lc 98:19-98:58 'VecS V4 V2
451testdata/Builtins.lc 98:34-98:58 V0
386testdata/Builtins.lc 98:34-98:40 {a} -> {b} -> {c:'Nat} -> a->b -> 'VecS a c -> 'VecS b c 452testdata/Builtins.lc 98:34-98:40 {a} -> {b} -> {c:'Nat} -> a->b -> 'VecS a c -> 'VecS b c
387testdata/Builtins.lc 98:42-98:53 V2->V2 453testdata/Builtins.lc 98:42-98:55 V2->V2
388testdata/Builtins.lc 98:42-98:53 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a 454testdata/Builtins.lc 98:42-98:53 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a
455testdata/Builtins.lc 98:54-98:55 'VecS V1 V0
456testdata/Builtins.lc 98:54-98:55 'VecS V10 V9
457testdata/Builtins.lc 98:57-98:58 'VecS 'Swizz V0
458testdata/Builtins.lc 98:57-98:58 'VecS 'Swizz V3
389testdata/Builtins.lc 98:19-98:31 'Bool 459testdata/Builtins.lc 98:19-98:31 'Bool
390testdata/Builtins.lc 98:19-98:29 {a} -> {b:'Nat} -> 'VecS a b -> 'Bool 460testdata/Builtins.lc 98:19-98:29 {a} -> {b:'Nat} -> 'VecS a b -> 'Bool
391testdata/Builtins.lc 98:30-98:31 'VecS V1 V0 461testdata/Builtins.lc 98:30-98:31 'VecS V1 V0
@@ -914,11 +984,13 @@ testdata/Builtins.lc 291:43-291:48 Type
914testdata/Builtins.lc 291:1-291:12 'Tuple0 -> 'VecS 'Float (Succ (Succ Zero)) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 984testdata/Builtins.lc 291:1-291:12 'Tuple0 -> 'VecS 'Float (Succ (Succ Zero)) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
915testdata/Builtins.lc 294:14-294:25 Type 985testdata/Builtins.lc 294:14-294:25 Type
916testdata/Builtins.lc 294:14-294:20 Type 986testdata/Builtins.lc 294:14-294:20 Type
917testdata/Builtins.lc 294:14-294:25 V2 987testdata/Builtins.lc 294:24-294:25 Type
988testdata/Builtins.lc 294:24-294:25 V2
918testdata/Builtins.lc 294:1-294:8 {a} -> 'String->a 989testdata/Builtins.lc 294:1-294:8 {a} -> 'String->a
919testdata/Builtins.lc 295:14-295:25 Type 990testdata/Builtins.lc 295:14-295:25 Type
920testdata/Builtins.lc 295:14-295:20 Type 991testdata/Builtins.lc 295:14-295:20 Type
921testdata/Builtins.lc 295:14-295:25 V2 992testdata/Builtins.lc 295:24-295:25 Type
993testdata/Builtins.lc 295:24-295:25 V2
922testdata/Builtins.lc 295:1-295:10 {a} -> 'String->a 994testdata/Builtins.lc 295:1-295:10 {a} -> 'String->a
923testdata/Builtins.lc 297:23-297:36 Type 995testdata/Builtins.lc 297:23-297:36 Type
924testdata/Builtins.lc 297:40-297:44 Type 996testdata/Builtins.lc 297:40-297:44 Type
@@ -970,28 +1042,39 @@ testdata/Builtins.lc 305:55-305:56 Type
970testdata/Builtins.lc 305:3-305:7 {a} -> 'Interpolated a 1042testdata/Builtins.lc 305:3-305:7 {a} -> 'Interpolated a
971testdata/Builtins.lc 309:14-310:32 Type->Type 1043testdata/Builtins.lc 309:14-310:32 Type->Type
972testdata/Builtins.lc 309:14-310:32 Type 1044testdata/Builtins.lc 309:14-310:32 Type
1045testdata/Builtins.lc 309:19-309:20 Type->Type
1046testdata/Builtins.lc 309:19-309:20 Type
973testdata/Builtins.lc 309:14-309:15 Type 1047testdata/Builtins.lc 309:14-309:15 Type
974testdata/Builtins.lc 310:15-310:32 Type 1048testdata/Builtins.lc 310:15-310:32 Type
975testdata/Builtins.lc 310:26-310:32 Type -> Type->Type 1049testdata/Builtins.lc 310:26-310:32 Type -> Type->Type
976testdata/Builtins.lc 310:26-310:32 Type->Type 1050testdata/Builtins.lc 310:26-310:32 Type->Type
977testdata/Builtins.lc 310:26-310:32 Type 1051testdata/Builtins.lc 310:26-310:32 Type
1052testdata/Builtins.lc 310:27-310:28 Type
1053testdata/Builtins.lc 310:30-310:31 Type
978testdata/Builtins.lc 310:15-310:21 Type 1054testdata/Builtins.lc 310:15-310:21 Type
979testdata/Builtins.lc 309:5-309:12 Type->Type 1055testdata/Builtins.lc 309:5-309:12 Type->Type
980testdata/Builtins.lc 313:27-316:82 Type->Type 1056testdata/Builtins.lc 313:27-316:82 Type->Type
981testdata/Builtins.lc 313:27-316:82 Type 1057testdata/Builtins.lc 313:27-316:82 Type
982testdata/Builtins.lc 313:27-313:29 Type 1058testdata/Builtins.lc 313:27-313:29 Type
983testdata/Builtins.lc 314:36-316:82 Type 1059testdata/Builtins.lc 314:36-316:82 Type
1060testdata/Builtins.lc 314:41-314:42 Type->Type
1061testdata/Builtins.lc 314:41-314:42 Type
984testdata/Builtins.lc 314:36-314:37 Type 1062testdata/Builtins.lc 314:36-314:37 Type
985testdata/Builtins.lc 315:23-316:82 Type 1063testdata/Builtins.lc 315:23-316:82 Type
986testdata/Builtins.lc 315:57-315:63 Type -> Type->Type 1064testdata/Builtins.lc 315:57-315:63 Type -> Type->Type
987testdata/Builtins.lc 315:57-315:63 Type->Type 1065testdata/Builtins.lc 315:57-315:63 Type->Type
988testdata/Builtins.lc 315:57-315:63 Type 1066testdata/Builtins.lc 315:57-315:63 Type
1067testdata/Builtins.lc 315:58-315:59 Type
1068testdata/Builtins.lc 315:61-315:62 Type
989testdata/Builtins.lc 315:23-315:53 Type 1069testdata/Builtins.lc 315:23-315:53 Type
990testdata/Builtins.lc 316:23-316:82 Type 1070testdata/Builtins.lc 316:23-316:82 Type
991testdata/Builtins.lc 316:73-316:82 Type -> Type -> Type->Type 1071testdata/Builtins.lc 316:73-316:82 Type -> Type -> Type->Type
992testdata/Builtins.lc 316:73-316:82 Type -> Type->Type 1072testdata/Builtins.lc 316:73-316:82 Type -> Type->Type
993testdata/Builtins.lc 316:73-316:82 Type->Type 1073testdata/Builtins.lc 316:73-316:82 Type->Type
994testdata/Builtins.lc 316:73-316:82 Type 1074testdata/Builtins.lc 316:73-316:82 Type
1075testdata/Builtins.lc 316:74-316:75 Type
1076testdata/Builtins.lc 316:77-316:78 Type
1077testdata/Builtins.lc 316:80-316:81 Type
995testdata/Builtins.lc 316:23-316:69 Type 1078testdata/Builtins.lc 316:23-316:69 Type
996testdata/Builtins.lc 313:5-313:21 Type->Type 1079testdata/Builtins.lc 313:5-313:21 Type->Type
997testdata/Builtins.lc 318:18-318:22 Type 1080testdata/Builtins.lc 318:18-318:22 Type
@@ -999,13 +1082,18 @@ testdata/Builtins.lc 318:26-318:30 Type
999testdata/Builtins.lc 318:6-318:14 Type->Type 1082testdata/Builtins.lc 318:6-318:14 Type->Type
1000testdata/Builtins.lc 319:60-319:70 Type 1083testdata/Builtins.lc 319:60-319:70 Type
1001testdata/Builtins.lc 319:60-319:68 Type->Type 1084testdata/Builtins.lc 319:60-319:68 Type->Type
1002testdata/Builtins.lc 319:60-319:70 V1 1085testdata/Builtins.lc 319:69-319:70 Type
1086testdata/Builtins.lc 319:69-319:70 V1
1003testdata/Builtins.lc 319:3-319:13 {a} -> 'Blending a 1087testdata/Builtins.lc 319:3-319:13 {a} -> 'Blending a
1004testdata/Builtins.lc 320:27-320:70 Type 1088testdata/Builtins.lc 320:27-320:70 Type
1005testdata/Builtins.lc 320:27-320:35 Type->Type 1089testdata/Builtins.lc 320:27-320:35 Type->Type
1006testdata/Builtins.lc 320:27-320:70 V1 1090testdata/Builtins.lc 320:36-320:37 Type
1091testdata/Builtins.lc 320:36-320:37 V1
1092testdata/Builtins.lc 320:42-320:70 Type
1007testdata/Builtins.lc 320:42-320:56 Type 1093testdata/Builtins.lc 320:42-320:56 Type
1094testdata/Builtins.lc 320:60-320:70 Type
1008testdata/Builtins.lc 320:60-320:68 Type->Type 1095testdata/Builtins.lc 320:60-320:68 Type->Type
1096testdata/Builtins.lc 320:69-320:70 Type
1009testdata/Builtins.lc 320:3-320:15 {a} -> {b : 'Integral a} -> 'LogicOperation -> 'Blending a 1097testdata/Builtins.lc 320:3-320:15 {a} -> {b : 'Integral a} -> 'LogicOperation -> 'Blending a
1010testdata/Builtins.lc 321:26-321:56 Type -> Type->Type 1098testdata/Builtins.lc 321:26-321:56 Type -> Type->Type
1011testdata/Builtins.lc 321:27-321:40 Type 1099testdata/Builtins.lc 321:27-321:40 Type
@@ -1027,8 +1115,8 @@ testdata/Builtins.lc 323:60-323:74 Type
1027testdata/Builtins.lc 323:60-323:68 Type->Type 1115testdata/Builtins.lc 323:60-323:68 Type->Type
1028testdata/Builtins.lc 323:69-323:74 Type 1116testdata/Builtins.lc 323:69-323:74 Type
1029testdata/Builtins.lc 321:3-321:8 'Tuple2 'BlendEquation 'BlendEquation -> 'Tuple2 ('Tuple2 'BlendingFactor 'BlendingFactor) ('Tuple2 'BlendingFactor 'BlendingFactor) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'Blending 'Float 1117testdata/Builtins.lc 321:3-321:8 'Tuple2 'BlendEquation 'BlendEquation -> 'Tuple2 ('Tuple2 'BlendingFactor 'BlendingFactor) ('Tuple2 'BlendingFactor 'BlendingFactor) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'Blending 'Float
1030testdata/Builtins.lc 319:60-323:74 Type 1118testdata/Builtins.lc 319:69-323:74 Type
1031testdata/Builtins.lc 320:27-323:74 Type 1119testdata/Builtins.lc 320:69-323:74 Type
1032testdata/Builtins.lc 330:6-330:18 Type 1120testdata/Builtins.lc 330:6-330:18 Type
1033testdata/Builtins.lc 331:6-331:16 Type 1121testdata/Builtins.lc 331:6-331:16 Type
1034testdata/Builtins.lc 332:6-332:11 Type 1122testdata/Builtins.lc 332:6-332:11 Type
@@ -1036,18 +1124,34 @@ testdata/Builtins.lc 334:27-334:31 Type
1036testdata/Builtins.lc 334:35-334:39 Type 1124testdata/Builtins.lc 334:35-334:39 Type
1037testdata/Builtins.lc 334:6-334:23 Type->Type 1125testdata/Builtins.lc 334:6-334:23 Type->Type
1038testdata/Builtins.lc 335:27-336:101 Type 1126testdata/Builtins.lc 335:27-336:101 Type
1039testdata/Builtins.lc 335:27-336:101 V7 1127testdata/Builtins.lc 335:27-335:31 Type
1128testdata/Builtins.lc 335:27-335:31 V7
1129testdata/Builtins.lc 335:34-335:50 Type
1040testdata/Builtins.lc 335:34-335:43 'Nat -> Type->Type 1130testdata/Builtins.lc 335:34-335:43 'Nat -> Type->Type
1041testdata/Builtins.lc 335:27-336:101 'Nat 1131testdata/Builtins.lc 335:44-335:45 'Nat
1042testdata/Builtins.lc 335:27-336:101 V5 1132testdata/Builtins.lc 335:44-335:45 V5
1043testdata/Builtins.lc 335:46-335:50 Type 1133testdata/Builtins.lc 335:46-335:50 Type
1044testdata/Builtins.lc 335:27-336:101 V4 1134testdata/Builtins.lc 335:52-336:101 Type
1135testdata/Builtins.lc 335:52-335:57 Type
1136testdata/Builtins.lc 335:52-335:57 V4
1137testdata/Builtins.lc 335:60-335:73 Type
1045testdata/Builtins.lc 335:60-335:69 'Nat -> Type->Type 1138testdata/Builtins.lc 335:60-335:69 'Nat -> Type->Type
1046testdata/Builtins.lc 335:27-336:101 V2 1139testdata/Builtins.lc 335:70-335:71 'Nat
1140testdata/Builtins.lc 335:72-335:73 Type
1141testdata/Builtins.lc 335:72-335:73 V2
1142testdata/Builtins.lc 335:75-336:101 Type
1047testdata/Builtins.lc 335:75-335:78 Type->Type 1143testdata/Builtins.lc 335:75-335:78 Type->Type
1144testdata/Builtins.lc 335:79-335:80 Type
1145testdata/Builtins.lc 335:85-336:101 Type
1048testdata/Builtins.lc 335:85-335:93 Type->Type 1146testdata/Builtins.lc 335:85-335:93 Type->Type
1147testdata/Builtins.lc 335:94-335:95 Type
1148testdata/Builtins.lc 335:99-336:101 Type
1149testdata/Builtins.lc 335:99-335:103 Type
1150testdata/Builtins.lc 336:71-336:101 Type
1049testdata/Builtins.lc 336:71-336:88 Type->Type 1151testdata/Builtins.lc 336:71-336:88 Type->Type
1152testdata/Builtins.lc 336:90-336:101 Type
1050testdata/Builtins.lc 336:90-336:95 Type->Type 1153testdata/Builtins.lc 336:90-336:95 Type->Type
1154testdata/Builtins.lc 336:96-336:101 Type
1051testdata/Builtins.lc 335:3-335:10 {a} -> {b:'Nat} -> {c} -> {d} -> {e : a ~ 'VecScalar b 'Bool} -> {f : c ~ 'VecScalar b d} -> {g : 'Num d} -> 'Blending d -> a -> 'FragmentOperation ('Color c) 1155testdata/Builtins.lc 335:3-335:10 {a} -> {b:'Nat} -> {c} -> {d} -> {e : a ~ 'VecScalar b 'Bool} -> {f : c ~ 'VecScalar b d} -> {g : 'Num d} -> 'Blending d -> a -> 'FragmentOperation ('Color c)
1052testdata/Builtins.lc 337:26-337:44 Type 1156testdata/Builtins.lc 337:26-337:44 Type
1053testdata/Builtins.lc 337:48-337:101 Type 1157testdata/Builtins.lc 337:48-337:101 Type
@@ -1069,21 +1173,28 @@ testdata/Builtins.lc 338:90-338:103 Type
1069testdata/Builtins.lc 338:90-338:97 Type->Type 1173testdata/Builtins.lc 338:90-338:97 Type->Type
1070testdata/Builtins.lc 338:98-338:103 Type 1174testdata/Builtins.lc 338:98-338:103 Type
1071testdata/Builtins.lc 338:3-338:12 'StencilTests -> 'StencilOps -> 'StencilOps -> 'FragmentOperation ('Stencil 'Int32) 1175testdata/Builtins.lc 338:3-338:12 'StencilTests -> 'StencilOps -> 'StencilOps -> 'FragmentOperation ('Stencil 'Int32)
1072testdata/Builtins.lc 335:27-338:103 Type 1176testdata/Builtins.lc 336:90-338:103 Type
1073testdata/Builtins.lc 337:90-338:103 Type 1177testdata/Builtins.lc 337:90-338:103 Type
1074testdata/Builtins.lc 341:32-345:146 Type->Type 1178testdata/Builtins.lc 341:32-345:146 Type->Type
1075testdata/Builtins.lc 341:32-345:146 Type 1179testdata/Builtins.lc 341:32-345:146 Type
1180testdata/Builtins.lc 341:37-341:38 Type->Type
1181testdata/Builtins.lc 341:37-341:38 Type
1076testdata/Builtins.lc 341:32-341:33 Type 1182testdata/Builtins.lc 341:32-341:33 Type
1077testdata/Builtins.lc 342:14-345:146 Type 1183testdata/Builtins.lc 342:14-345:146 Type
1078testdata/Builtins.lc 342:60-342:68 Type -> Type->Type 1184testdata/Builtins.lc 342:60-342:68 Type -> Type->Type
1079testdata/Builtins.lc 342:60-342:68 Type->Type 1185testdata/Builtins.lc 342:60-342:68 Type->Type
1080testdata/Builtins.lc 342:60-342:68 Type 1186testdata/Builtins.lc 342:60-342:68 Type
1187testdata/Builtins.lc 342:61-342:63 Type
1188testdata/Builtins.lc 342:65-342:67 Type
1081testdata/Builtins.lc 342:14-342:56 Type 1189testdata/Builtins.lc 342:14-342:56 Type
1082testdata/Builtins.lc 343:14-345:146 Type 1190testdata/Builtins.lc 343:14-345:146 Type
1083testdata/Builtins.lc 343:82-343:94 Type -> Type -> Type->Type 1191testdata/Builtins.lc 343:82-343:94 Type -> Type -> Type->Type
1084testdata/Builtins.lc 343:82-343:94 Type -> Type->Type 1192testdata/Builtins.lc 343:82-343:94 Type -> Type->Type
1085testdata/Builtins.lc 343:82-343:94 Type->Type 1193testdata/Builtins.lc 343:82-343:94 Type->Type
1086testdata/Builtins.lc 343:82-343:94 Type 1194testdata/Builtins.lc 343:82-343:94 Type
1195testdata/Builtins.lc 343:83-343:85 Type
1196testdata/Builtins.lc 343:87-343:89 Type
1197testdata/Builtins.lc 343:91-343:93 Type
1087testdata/Builtins.lc 343:14-343:78 Type 1198testdata/Builtins.lc 343:14-343:78 Type
1088testdata/Builtins.lc 344:14-345:146 Type 1199testdata/Builtins.lc 344:14-345:146 Type
1089testdata/Builtins.lc 344:104-344:120 Type -> Type -> Type -> Type->Type 1200testdata/Builtins.lc 344:104-344:120 Type -> Type -> Type -> Type->Type
@@ -1091,6 +1202,10 @@ testdata/Builtins.lc 344:104-344:120 Type -> Type -> Type->Type
1091testdata/Builtins.lc 344:104-344:120 Type -> Type->Type 1202testdata/Builtins.lc 344:104-344:120 Type -> Type->Type
1092testdata/Builtins.lc 344:104-344:120 Type->Type 1203testdata/Builtins.lc 344:104-344:120 Type->Type
1093testdata/Builtins.lc 344:104-344:120 Type 1204testdata/Builtins.lc 344:104-344:120 Type
1205testdata/Builtins.lc 344:105-344:107 Type
1206testdata/Builtins.lc 344:109-344:111 Type
1207testdata/Builtins.lc 344:113-344:115 Type
1208testdata/Builtins.lc 344:117-344:119 Type
1094testdata/Builtins.lc 344:14-344:100 Type 1209testdata/Builtins.lc 344:14-344:100 Type
1095testdata/Builtins.lc 345:14-345:146 Type 1210testdata/Builtins.lc 345:14-345:146 Type
1096testdata/Builtins.lc 345:126-345:146 Type -> Type -> Type -> Type -> Type->Type 1211testdata/Builtins.lc 345:126-345:146 Type -> Type -> Type -> Type -> Type->Type
@@ -1099,85 +1214,120 @@ testdata/Builtins.lc 345:126-345:146 Type -> Type -> Type->Type
1099testdata/Builtins.lc 345:126-345:146 Type -> Type->Type 1214testdata/Builtins.lc 345:126-345:146 Type -> Type->Type
1100testdata/Builtins.lc 345:126-345:146 Type->Type 1215testdata/Builtins.lc 345:126-345:146 Type->Type
1101testdata/Builtins.lc 345:126-345:146 Type 1216testdata/Builtins.lc 345:126-345:146 Type
1217testdata/Builtins.lc 345:127-345:129 Type
1218testdata/Builtins.lc 345:131-345:133 Type
1219testdata/Builtins.lc 345:135-345:137 Type
1220testdata/Builtins.lc 345:139-345:141 Type
1221testdata/Builtins.lc 345:143-345:145 Type
1102testdata/Builtins.lc 345:14-345:122 Type 1222testdata/Builtins.lc 345:14-345:122 Type
1103testdata/Builtins.lc 341:5-341:12 Type->Type 1223testdata/Builtins.lc 341:5-341:12 Type->Type
1104testdata/Builtins.lc 348:15-352:36 Type->Type 1224testdata/Builtins.lc 348:15-352:38 Type->Type
1105testdata/Builtins.lc 348:15-352:36 Type 1225testdata/Builtins.lc 348:15-352:38 Type
1106testdata/Builtins.lc 348:25-348:69 Type -> Type->Type 1226testdata/Builtins.lc 348:25-348:69 Type -> Type->Type
1107testdata/Builtins.lc 348:25-348:69 Type->Type 1227testdata/Builtins.lc 348:25-348:69 Type->Type
1108testdata/Builtins.lc 348:25-348:69 Type 1228testdata/Builtins.lc 348:25-348:69 Type
1109testdata/Builtins.lc 348:26-348:43 Type 1229testdata/Builtins.lc 348:26-348:46 Type
1110testdata/Builtins.lc 348:26-348:43 Type->Type 1230testdata/Builtins.lc 348:26-348:43 Type->Type
1111testdata/Builtins.lc 348:48-348:65 Type 1231testdata/Builtins.lc 348:44-348:46 Type
1232testdata/Builtins.lc 348:48-348:68 Type
1112testdata/Builtins.lc 348:48-348:65 Type->Type 1233testdata/Builtins.lc 348:48-348:65 Type->Type
1234testdata/Builtins.lc 348:66-348:68 Type
1113testdata/Builtins.lc 348:15-348:21 Type 1235testdata/Builtins.lc 348:15-348:21 Type
1114testdata/Builtins.lc 349:15-352:36 Type 1236testdata/Builtins.lc 349:15-352:38 Type
1115testdata/Builtins.lc 349:29-349:95 Type -> Type -> Type->Type 1237testdata/Builtins.lc 349:29-349:95 Type -> Type -> Type->Type
1116testdata/Builtins.lc 349:29-349:95 Type -> Type->Type 1238testdata/Builtins.lc 349:29-349:95 Type -> Type->Type
1117testdata/Builtins.lc 349:29-349:95 Type->Type 1239testdata/Builtins.lc 349:29-349:95 Type->Type
1118testdata/Builtins.lc 349:29-349:95 Type 1240testdata/Builtins.lc 349:29-349:95 Type
1119testdata/Builtins.lc 349:30-349:47 Type 1241testdata/Builtins.lc 349:30-349:50 Type
1120testdata/Builtins.lc 349:30-349:47 Type->Type 1242testdata/Builtins.lc 349:30-349:47 Type->Type
1121testdata/Builtins.lc 349:52-349:69 Type 1243testdata/Builtins.lc 349:48-349:50 Type
1244testdata/Builtins.lc 349:52-349:72 Type
1122testdata/Builtins.lc 349:52-349:69 Type->Type 1245testdata/Builtins.lc 349:52-349:69 Type->Type
1123testdata/Builtins.lc 349:74-349:91 Type 1246testdata/Builtins.lc 349:70-349:72 Type
1247testdata/Builtins.lc 349:74-349:94 Type
1124testdata/Builtins.lc 349:74-349:91 Type->Type 1248testdata/Builtins.lc 349:74-349:91 Type->Type
1249testdata/Builtins.lc 349:92-349:94 Type
1125testdata/Builtins.lc 349:15-349:25 Type 1250testdata/Builtins.lc 349:15-349:25 Type
1126testdata/Builtins.lc 350:15-352:36 Type 1251testdata/Builtins.lc 350:15-352:38 Type
1127testdata/Builtins.lc 350:34-350:122 Type -> Type -> Type -> Type->Type 1252testdata/Builtins.lc 350:34-350:122 Type -> Type -> Type -> Type->Type
1128testdata/Builtins.lc 350:34-350:122 Type -> Type -> Type->Type 1253testdata/Builtins.lc 350:34-350:122 Type -> Type -> Type->Type
1129testdata/Builtins.lc 350:34-350:122 Type -> Type->Type 1254testdata/Builtins.lc 350:34-350:122 Type -> Type->Type
1130testdata/Builtins.lc 350:34-350:122 Type->Type 1255testdata/Builtins.lc 350:34-350:122 Type->Type
1131testdata/Builtins.lc 350:34-350:122 Type 1256testdata/Builtins.lc 350:34-350:122 Type
1132testdata/Builtins.lc 350:35-350:52 Type 1257testdata/Builtins.lc 350:35-350:55 Type
1133testdata/Builtins.lc 350:35-350:52 Type->Type 1258testdata/Builtins.lc 350:35-350:52 Type->Type
1134testdata/Builtins.lc 350:57-350:74 Type 1259testdata/Builtins.lc 350:53-350:55 Type
1260testdata/Builtins.lc 350:57-350:77 Type
1135testdata/Builtins.lc 350:57-350:74 Type->Type 1261testdata/Builtins.lc 350:57-350:74 Type->Type
1136testdata/Builtins.lc 350:79-350:96 Type 1262testdata/Builtins.lc 350:75-350:77 Type
1263testdata/Builtins.lc 350:79-350:99 Type
1137testdata/Builtins.lc 350:79-350:96 Type->Type 1264testdata/Builtins.lc 350:79-350:96 Type->Type
1138testdata/Builtins.lc 350:101-350:118 Type 1265testdata/Builtins.lc 350:97-350:99 Type
1266testdata/Builtins.lc 350:101-350:121 Type
1139testdata/Builtins.lc 350:101-350:118 Type->Type 1267testdata/Builtins.lc 350:101-350:118 Type->Type
1268testdata/Builtins.lc 350:119-350:121 Type
1140testdata/Builtins.lc 350:15-350:29 Type 1269testdata/Builtins.lc 350:15-350:29 Type
1141testdata/Builtins.lc 351:15-352:36 Type 1270testdata/Builtins.lc 351:15-352:38 Type
1142testdata/Builtins.lc 351:38-351:148 Type -> Type -> Type -> Type -> Type->Type 1271testdata/Builtins.lc 351:38-351:148 Type -> Type -> Type -> Type -> Type->Type
1143testdata/Builtins.lc 351:38-351:148 Type -> Type -> Type -> Type->Type 1272testdata/Builtins.lc 351:38-351:148 Type -> Type -> Type -> Type->Type
1144testdata/Builtins.lc 351:38-351:148 Type -> Type -> Type->Type 1273testdata/Builtins.lc 351:38-351:148 Type -> Type -> Type->Type
1145testdata/Builtins.lc 351:38-351:148 Type -> Type->Type 1274testdata/Builtins.lc 351:38-351:148 Type -> Type->Type
1146testdata/Builtins.lc 351:38-351:148 Type->Type 1275testdata/Builtins.lc 351:38-351:148 Type->Type
1147testdata/Builtins.lc 351:38-351:148 Type 1276testdata/Builtins.lc 351:38-351:148 Type
1148testdata/Builtins.lc 351:39-351:56 Type 1277testdata/Builtins.lc 351:39-351:59 Type
1149testdata/Builtins.lc 351:39-351:56 Type->Type 1278testdata/Builtins.lc 351:39-351:56 Type->Type
1150testdata/Builtins.lc 351:61-351:78 Type 1279testdata/Builtins.lc 351:57-351:59 Type
1280testdata/Builtins.lc 351:61-351:81 Type
1151testdata/Builtins.lc 351:61-351:78 Type->Type 1281testdata/Builtins.lc 351:61-351:78 Type->Type
1152testdata/Builtins.lc 351:83-351:100 Type 1282testdata/Builtins.lc 351:79-351:81 Type
1283testdata/Builtins.lc 351:83-351:103 Type
1153testdata/Builtins.lc 351:83-351:100 Type->Type 1284testdata/Builtins.lc 351:83-351:100 Type->Type
1154testdata/Builtins.lc 351:105-351:122 Type 1285testdata/Builtins.lc 351:101-351:103 Type
1286testdata/Builtins.lc 351:105-351:125 Type
1155testdata/Builtins.lc 351:105-351:122 Type->Type 1287testdata/Builtins.lc 351:105-351:122 Type->Type
1156testdata/Builtins.lc 351:127-351:144 Type 1288testdata/Builtins.lc 351:123-351:125 Type
1289testdata/Builtins.lc 351:127-351:147 Type
1157testdata/Builtins.lc 351:127-351:144 Type->Type 1290testdata/Builtins.lc 351:127-351:144 Type->Type
1291testdata/Builtins.lc 351:145-351:147 Type
1158testdata/Builtins.lc 351:15-351:33 Type 1292testdata/Builtins.lc 351:15-351:33 Type
1159testdata/Builtins.lc 352:19-352:36 Type 1293testdata/Builtins.lc 352:19-352:38 Type
1160testdata/Builtins.lc 352:19-352:36 Type->Type 1294testdata/Builtins.lc 352:19-352:36 Type->Type
1295testdata/Builtins.lc 352:37-352:38 Type
1161testdata/Builtins.lc 348:5-348:13 Type->Type 1296testdata/Builtins.lc 348:5-348:13 Type->Type
1162testdata/Builtins.lc 354:6-354:12 Type->Type 1297testdata/Builtins.lc 354:6-354:12 Type->Type
1163testdata/Builtins.lc 356:15-356:46 Type 1298testdata/Builtins.lc 356:15-356:46 Type
1164testdata/Builtins.lc 356:15-356:46 V3 1299testdata/Builtins.lc 356:15-356:16 V3
1165testdata/Builtins.lc 356:15-356:46 V2 1300testdata/Builtins.lc 356:20-356:21 Type
1301testdata/Builtins.lc 356:20-356:21 V2
1302testdata/Builtins.lc 356:26-356:46 Type
1166testdata/Builtins.lc 356:26-356:32 Type->Type 1303testdata/Builtins.lc 356:26-356:32 Type->Type
1304testdata/Builtins.lc 356:33-356:34 Type
1305testdata/Builtins.lc 356:38-356:46 Type
1167testdata/Builtins.lc 356:38-356:44 Type->Type 1306testdata/Builtins.lc 356:38-356:44 Type->Type
1307testdata/Builtins.lc 356:45-356:46 Type
1168testdata/Builtins.lc 356:1-356:10 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b 1308testdata/Builtins.lc 356:1-356:10 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b
1169testdata/Builtins.lc 357:21-357:59 Type 1309testdata/Builtins.lc 357:21-357:59 Type
1170testdata/Builtins.lc 357:21-357:59 V3 1310testdata/Builtins.lc 357:21-357:22 V3
1311testdata/Builtins.lc 357:26-357:34 Type
1171testdata/Builtins.lc 357:26-357:32 Type->Type 1312testdata/Builtins.lc 357:26-357:32 Type->Type
1172testdata/Builtins.lc 357:21-357:59 V2 1313testdata/Builtins.lc 357:33-357:34 Type
1314testdata/Builtins.lc 357:33-357:34 V2
1315testdata/Builtins.lc 357:39-357:59 Type
1173testdata/Builtins.lc 357:39-357:45 Type->Type 1316testdata/Builtins.lc 357:39-357:45 Type->Type
1317testdata/Builtins.lc 357:46-357:47 Type
1318testdata/Builtins.lc 357:51-357:59 Type
1174testdata/Builtins.lc 357:51-357:57 Type->Type 1319testdata/Builtins.lc 357:51-357:57 Type->Type
1320testdata/Builtins.lc 357:58-357:59 Type
1175testdata/Builtins.lc 357:1-357:16 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b 1321testdata/Builtins.lc 357:1-357:16 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b
1176testdata/Builtins.lc 358:18-358:52 Type 1322testdata/Builtins.lc 358:18-358:52 Type
1177testdata/Builtins.lc 358:18-358:52 V1 1323testdata/Builtins.lc 358:18-358:19 V1
1178testdata/Builtins.lc 358:23-358:27 Type 1324testdata/Builtins.lc 358:23-358:27 Type
1325testdata/Builtins.lc 358:32-358:52 Type
1179testdata/Builtins.lc 358:32-358:38 Type->Type 1326testdata/Builtins.lc 358:32-358:38 Type->Type
1327testdata/Builtins.lc 358:39-358:40 Type
1328testdata/Builtins.lc 358:44-358:52 Type
1180testdata/Builtins.lc 358:44-358:50 Type->Type 1329testdata/Builtins.lc 358:44-358:50 Type->Type
1330testdata/Builtins.lc 358:51-358:52 Type
1181testdata/Builtins.lc 358:1-358:13 {a} -> a->'Bool -> 'Stream a -> 'Stream a 1331testdata/Builtins.lc 358:1-358:13 {a} -> a->'Bool -> 'Stream a -> 'Stream a
1182testdata/Builtins.lc 360:22-360:35 Type 1332testdata/Builtins.lc 360:22-360:35 Type
1183testdata/Builtins.lc 360:6-360:15 'PrimitiveType -> Type->Type 1333testdata/Builtins.lc 360:6-360:15 'PrimitiveType -> Type->Type
@@ -1190,12 +1340,18 @@ testdata/Builtins.lc 362:48-362:49 Type
1190testdata/Builtins.lc 362:48-362:49 V1 1340testdata/Builtins.lc 362:48-362:49 V1
1191testdata/Builtins.lc 362:6-362:21 'PrimitiveType -> Type->Type 1341testdata/Builtins.lc 362:6-362:21 'PrimitiveType -> Type->Type
1192testdata/Builtins.lc 364:18-364:59 Type 1342testdata/Builtins.lc 364:18-364:59 Type
1193testdata/Builtins.lc 364:18-364:59 V5 1343testdata/Builtins.lc 364:18-364:19 V5
1194testdata/Builtins.lc 364:18-364:59 V4 1344testdata/Builtins.lc 364:23-364:24 Type
1345testdata/Builtins.lc 364:23-364:24 V4
1346testdata/Builtins.lc 364:29-364:59 Type
1195testdata/Builtins.lc 364:29-364:38 'PrimitiveType -> Type->Type 1347testdata/Builtins.lc 364:29-364:38 'PrimitiveType -> Type->Type
1196testdata/Builtins.lc 364:18-364:59 'PrimitiveType 1348testdata/Builtins.lc 364:39-364:40 'PrimitiveType
1197testdata/Builtins.lc 364:18-364:59 V2 1349testdata/Builtins.lc 364:39-364:40 V2
1350testdata/Builtins.lc 364:41-364:42 Type
1351testdata/Builtins.lc 364:46-364:59 Type
1198testdata/Builtins.lc 364:46-364:55 'PrimitiveType -> Type->Type 1352testdata/Builtins.lc 364:46-364:55 'PrimitiveType -> Type->Type
1353testdata/Builtins.lc 364:56-364:57 'PrimitiveType
1354testdata/Builtins.lc 364:58-364:59 Type
1199testdata/Builtins.lc 364:1-364:13 {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Primitive c a -> 'Primitive c b 1355testdata/Builtins.lc 364:1-364:13 {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Primitive c a -> 'Primitive c b
1200testdata/Builtins.lc 366:39-366:94 Type 1356testdata/Builtins.lc 366:39-366:94 Type
1201testdata/Builtins.lc 366:39-366:53 Type->Type 1357testdata/Builtins.lc 366:39-366:53 Type->Type
@@ -1230,34 +1386,61 @@ testdata/Builtins.lc 367:101-367:102 V6
1230testdata/Builtins.lc 367:103-367:104 Type 1386testdata/Builtins.lc 367:103-367:104 Type
1231testdata/Builtins.lc 367:1-367:13 {a:'PrimitiveType} -> {b} -> {c} -> {d:'Unit} -> {e : b ~ 'FTRepr' c} -> c -> 'Stream ('Primitive a b) 1387testdata/Builtins.lc 367:1-367:13 {a:'PrimitiveType} -> {b} -> {c} -> {d:'Unit} -> {e : b ~ 'FTRepr' c} -> c -> 'Stream ('Primitive a b)
1232testdata/Builtins.lc 369:19-369:74 Type 1388testdata/Builtins.lc 369:19-369:74 Type
1233testdata/Builtins.lc 369:19-369:74 V5 1389testdata/Builtins.lc 369:19-369:21 V5
1234testdata/Builtins.lc 369:19-369:74 V4 1390testdata/Builtins.lc 369:25-369:26 Type
1391testdata/Builtins.lc 369:25-369:26 V4
1392testdata/Builtins.lc 369:31-369:74 Type
1235testdata/Builtins.lc 369:31-369:46 'PrimitiveType -> Type->Type 1393testdata/Builtins.lc 369:31-369:46 'PrimitiveType -> Type->Type
1236testdata/Builtins.lc 369:19-369:74 'PrimitiveType 1394testdata/Builtins.lc 369:47-369:48 'PrimitiveType
1237testdata/Builtins.lc 369:19-369:74 V2 1395testdata/Builtins.lc 369:47-369:48 V2
1396testdata/Builtins.lc 369:49-369:51 Type
1397testdata/Builtins.lc 369:55-369:74 Type
1238testdata/Builtins.lc 369:55-369:70 'PrimitiveType -> Type->Type 1398testdata/Builtins.lc 369:55-369:70 'PrimitiveType -> Type->Type
1239testdata/Builtins.lc 370:19-370:42 {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Stream ('Primitive c a) -> 'Stream ('Primitive c b) 1399testdata/Builtins.lc 369:71-369:72 'PrimitiveType
1240testdata/Builtins.lc 370:19-370:42 {a} -> {b:'PrimitiveType} -> V2->a -> 'Stream ('Primitive b V3) -> 'Stream ('Primitive b a) 1400testdata/Builtins.lc 369:73-369:74 Type
1241testdata/Builtins.lc 370:19-370:42 {a:'PrimitiveType} -> V2->V2 -> 'Stream ('Primitive a V3) -> 'Stream ('Primitive a V3) 1401testdata/Builtins.lc 370:19-370:44 {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Stream ('Primitive c a) -> 'Stream ('Primitive c b)
1242testdata/Builtins.lc 370:19-370:42 V2->V2 -> 'Stream ('Primitive V1 V3) -> 'Stream ('Primitive V2 V3) 1402testdata/Builtins.lc 370:19-370:44 {a} -> {b:'PrimitiveType} -> V2->a -> 'Stream ('Primitive b V3) -> 'Stream ('Primitive b a)
1243testdata/Builtins.lc 370:19-370:42 'Stream ('Primitive V1 V3) -> 'Stream ('Primitive V2 V3) 1403testdata/Builtins.lc 370:19-370:44 {a:'PrimitiveType} -> V2->V2 -> 'Stream ('Primitive a V3) -> 'Stream ('Primitive a V3)
1404testdata/Builtins.lc 370:19-370:44 V2->V2 -> 'Stream ('Primitive V1 V3) -> 'Stream ('Primitive V2 V3)
1405testdata/Builtins.lc 370:19-370:44 'Stream ('Primitive V1 V3) -> 'Stream ('Primitive V2 V3)
1244testdata/Builtins.lc 370:19-370:28 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b 1406testdata/Builtins.lc 370:19-370:28 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b
1245testdata/Builtins.lc 370:30-370:42 V1->V1 1407testdata/Builtins.lc 370:30-370:44 V1->V1
1246testdata/Builtins.lc 370:30-370:42 {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Primitive c a -> 'Primitive c b 1408testdata/Builtins.lc 370:30-370:42 {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Primitive c a -> 'Primitive c b
1409testdata/Builtins.lc 370:43-370:44 V2->V2
1410testdata/Builtins.lc 370:43-370:44 V8->V8
1247testdata/Builtins.lc 370:1-370:14 {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Stream ('Primitive c a) -> 'Stream ('Primitive c b) 1411testdata/Builtins.lc 370:1-370:14 {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Stream ('Primitive c a) -> 'Stream ('Primitive c b)
1248testdata/Builtins.lc 372:15-372:21 {a:'PrimitiveType} -> {b} -> {c:'Unit} -> 'String -> b -> 'Stream ('Primitive a b) 1412testdata/Builtins.lc 372:15-372:21 {a:'PrimitiveType} -> {b} -> {c:'Unit} -> 'String -> b -> 'Stream ('Primitive a b)
1413testdata/Builtins.lc 372:23-372:24 'PrimitiveType
1414testdata/Builtins.lc 372:23-372:24 V3
1415testdata/Builtins.lc 372:25-372:26 'String
1416testdata/Builtins.lc 372:25-372:26 V5
1417testdata/Builtins.lc 372:27-372:28 V0
1418testdata/Builtins.lc 372:27-372:28 V2
1249testdata/Builtins.lc 372:1-372:6 {a} -> 'String -> c:'PrimitiveType -> a -> 'Stream ('Primitive c a) 1419testdata/Builtins.lc 372:1-372:6 {a} -> 'String -> c:'PrimitiveType -> a -> 'Stream ('Primitive c a)
1250testdata/Builtins.lc 373:19-373:31 {a:'PrimitiveType} -> {b} -> {c} -> {d:'Unit} -> {e : b ~ 'FTRepr' c} -> c -> 'Stream ('Primitive a b) 1420testdata/Builtins.lc 373:19-373:31 {a:'PrimitiveType} -> {b} -> {c} -> {d:'Unit} -> {e : b ~ 'FTRepr' c} -> c -> 'Stream ('Primitive a b)
1421testdata/Builtins.lc 373:33-373:34 'PrimitiveType
1422testdata/Builtins.lc 373:33-373:34 V3
1423testdata/Builtins.lc 373:35-373:36 V0
1424testdata/Builtins.lc 373:35-373:36 V2
1251testdata/Builtins.lc 373:1-373:12 {a} -> b:'PrimitiveType -> a -> 'Stream ('Primitive b ('FTRepr' a)) 1425testdata/Builtins.lc 373:1-373:12 {a} -> b:'PrimitiveType -> a -> 'Stream ('Primitive b ('FTRepr' a))
1252testdata/Builtins.lc 376:23-386:82 Type->Type 1426testdata/Builtins.lc 376:23-386:82 Type->Type
1253testdata/Builtins.lc 376:23-386:82 Type 1427testdata/Builtins.lc 376:23-386:82 Type
1254testdata/Builtins.lc 376:23-376:25 Type 1428testdata/Builtins.lc 376:23-376:25 Type
1255testdata/Builtins.lc 377:25-386:82 Type 1429testdata/Builtins.lc 377:25-386:82 Type
1430testdata/Builtins.lc 377:30-377:31 Type->Type
1431testdata/Builtins.lc 377:30-377:31 Type
1256testdata/Builtins.lc 377:25-377:26 Type 1432testdata/Builtins.lc 377:25-377:26 Type
1257testdata/Builtins.lc 378:19-386:82 Type 1433testdata/Builtins.lc 378:19-386:82 Type
1258testdata/Builtins.lc 378:39-378:45 Type -> Type->Type 1434testdata/Builtins.lc 378:39-383:44 Type -> Type->Type
1435testdata/Builtins.lc 378:39-383:44 Type->Type
1436testdata/Builtins.lc 378:39-383:44 Type
1259testdata/Builtins.lc 378:39-378:45 Type->Type 1437testdata/Builtins.lc 378:39-378:45 Type->Type
1260testdata/Builtins.lc 378:39-378:45 Type 1438testdata/Builtins.lc 378:39-378:45 Type
1439testdata/Builtins.lc 378:39-378:45 Type -> Type->Type
1440testdata/Builtins.lc 378:40-378:41 Type
1441testdata/Builtins.lc 378:43-378:44 Type
1442testdata/Builtins.lc 383:43-383:44 Type
1443testdata/Builtins.lc 383:43-383:44 Type->Type
1261testdata/Builtins.lc 378:19-378:35 Type 1444testdata/Builtins.lc 378:19-378:35 Type
1262testdata/Builtins.lc 379:19-386:82 Type 1445testdata/Builtins.lc 379:19-386:82 Type
1263testdata/Builtins.lc 379:48-384:58 Type -> Type -> Type->Type 1446testdata/Builtins.lc 379:48-384:58 Type -> Type -> Type->Type
@@ -1267,9 +1450,14 @@ testdata/Builtins.lc 379:48-384:58 Type
1267testdata/Builtins.lc 379:48-379:57 Type->Type 1450testdata/Builtins.lc 379:48-379:57 Type->Type
1268testdata/Builtins.lc 379:48-379:57 Type 1451testdata/Builtins.lc 379:48-379:57 Type
1269testdata/Builtins.lc 379:48-379:57 Type -> Type -> Type->Type 1452testdata/Builtins.lc 379:48-379:57 Type -> Type -> Type->Type
1453testdata/Builtins.lc 379:49-379:50 Type
1454testdata/Builtins.lc 379:52-379:53 Type
1455testdata/Builtins.lc 379:55-379:56 Type
1270testdata/Builtins.lc 384:52-384:58 Type 1456testdata/Builtins.lc 384:52-384:58 Type
1271testdata/Builtins.lc 384:52-384:58 Type->Type 1457testdata/Builtins.lc 384:52-384:58 Type->Type
1272testdata/Builtins.lc 384:52-384:58 Type -> Type->Type 1458testdata/Builtins.lc 384:52-384:58 Type -> Type->Type
1459testdata/Builtins.lc 384:53-384:54 Type
1460testdata/Builtins.lc 384:56-384:57 Type
1273testdata/Builtins.lc 379:19-379:44 Type 1461testdata/Builtins.lc 379:19-379:44 Type
1274testdata/Builtins.lc 380:19-386:82 Type 1462testdata/Builtins.lc 380:19-386:82 Type
1275testdata/Builtins.lc 380:57-385:70 Type -> Type -> Type -> Type->Type 1463testdata/Builtins.lc 380:57-385:70 Type -> Type -> Type -> Type->Type
@@ -1280,9 +1468,16 @@ testdata/Builtins.lc 380:57-385:70 Type
1280testdata/Builtins.lc 380:57-380:69 Type->Type 1468testdata/Builtins.lc 380:57-380:69 Type->Type
1281testdata/Builtins.lc 380:57-380:69 Type 1469testdata/Builtins.lc 380:57-380:69 Type
1282testdata/Builtins.lc 380:57-380:69 Type -> Type -> Type -> Type->Type 1470testdata/Builtins.lc 380:57-380:69 Type -> Type -> Type -> Type->Type
1471testdata/Builtins.lc 380:58-380:59 Type
1472testdata/Builtins.lc 380:61-380:62 Type
1473testdata/Builtins.lc 380:64-380:65 Type
1474testdata/Builtins.lc 380:67-380:68 Type
1283testdata/Builtins.lc 385:61-385:70 Type 1475testdata/Builtins.lc 385:61-385:70 Type
1284testdata/Builtins.lc 385:61-385:70 Type->Type 1476testdata/Builtins.lc 385:61-385:70 Type->Type
1285testdata/Builtins.lc 385:61-385:70 Type -> Type -> Type->Type 1477testdata/Builtins.lc 385:61-385:70 Type -> Type -> Type->Type
1478testdata/Builtins.lc 385:62-385:63 Type
1479testdata/Builtins.lc 385:65-385:66 Type
1480testdata/Builtins.lc 385:68-385:69 Type
1286testdata/Builtins.lc 380:19-380:53 Type 1481testdata/Builtins.lc 380:19-380:53 Type
1287testdata/Builtins.lc 381:19-386:82 Type 1482testdata/Builtins.lc 381:19-386:82 Type
1288testdata/Builtins.lc 381:66-386:82 Type -> Type -> Type -> Type -> Type->Type 1483testdata/Builtins.lc 381:66-386:82 Type -> Type -> Type -> Type -> Type->Type
@@ -1294,9 +1489,18 @@ testdata/Builtins.lc 381:66-386:82 Type
1294testdata/Builtins.lc 381:66-381:81 Type->Type 1489testdata/Builtins.lc 381:66-381:81 Type->Type
1295testdata/Builtins.lc 381:66-381:81 Type 1490testdata/Builtins.lc 381:66-381:81 Type
1296testdata/Builtins.lc 381:66-381:81 Type -> Type -> Type -> Type -> Type->Type 1491testdata/Builtins.lc 381:66-381:81 Type -> Type -> Type -> Type -> Type->Type
1492testdata/Builtins.lc 381:67-381:68 Type
1493testdata/Builtins.lc 381:70-381:71 Type
1494testdata/Builtins.lc 381:73-381:74 Type
1495testdata/Builtins.lc 381:76-381:77 Type
1496testdata/Builtins.lc 381:79-381:80 Type
1297testdata/Builtins.lc 386:70-386:82 Type 1497testdata/Builtins.lc 386:70-386:82 Type
1298testdata/Builtins.lc 386:70-386:82 Type->Type 1498testdata/Builtins.lc 386:70-386:82 Type->Type
1299testdata/Builtins.lc 386:70-386:82 Type -> Type -> Type -> Type->Type 1499testdata/Builtins.lc 386:70-386:82 Type -> Type -> Type -> Type->Type
1500testdata/Builtins.lc 386:71-386:72 Type
1501testdata/Builtins.lc 386:74-386:75 Type
1502testdata/Builtins.lc 386:77-386:78 Type
1503testdata/Builtins.lc 386:80-386:81 Type
1300testdata/Builtins.lc 381:19-381:62 Type 1504testdata/Builtins.lc 381:19-381:62 Type
1301testdata/Builtins.lc 382:25-382:36 Type 1505testdata/Builtins.lc 382:25-382:36 Type
1302testdata/Builtins.lc 382:34-382:36 Type->Type 1506testdata/Builtins.lc 382:34-382:36 Type->Type
@@ -1317,66 +1521,108 @@ testdata/Builtins.lc 391:46-391:47 Type
1317testdata/Builtins.lc 391:46-391:47 V1 1521testdata/Builtins.lc 391:46-391:47 V1
1318testdata/Builtins.lc 391:6-391:20 'Nat -> Type->Type 1522testdata/Builtins.lc 391:6-391:20 'Nat -> Type->Type
1319testdata/Builtins.lc 393:20-393:63 Type 1523testdata/Builtins.lc 393:20-393:63 Type
1320testdata/Builtins.lc 393:20-393:63 V3 1524testdata/Builtins.lc 393:20-393:21 V3
1321testdata/Builtins.lc 393:25-393:30 Type 1525testdata/Builtins.lc 393:25-393:30 Type
1526testdata/Builtins.lc 393:35-393:63 Type
1322testdata/Builtins.lc 393:35-393:43 'Nat -> Type->Type 1527testdata/Builtins.lc 393:35-393:43 'Nat -> Type->Type
1323testdata/Builtins.lc 393:20-393:63 'Nat 1528testdata/Builtins.lc 393:44-393:45 'Nat
1324testdata/Builtins.lc 393:20-393:63 V2 1529testdata/Builtins.lc 393:44-393:45 V2
1530testdata/Builtins.lc 393:46-393:47 Type
1531testdata/Builtins.lc 393:51-393:63 Type
1325testdata/Builtins.lc 393:51-393:59 'Nat -> Type->Type 1532testdata/Builtins.lc 393:51-393:59 'Nat -> Type->Type
1533testdata/Builtins.lc 393:60-393:61 'Nat
1534testdata/Builtins.lc 393:62-393:63 Type
1326testdata/Builtins.lc 393:1-393:15 {a} -> {b:'Nat} -> a->'Float -> 'Fragment b a -> 'Fragment b a 1535testdata/Builtins.lc 393:1-393:15 {a} -> {b:'Nat} -> a->'Float -> 'Fragment b a -> 'Fragment b a
1327testdata/Builtins.lc 395:21-395:30 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b 1536testdata/Builtins.lc 395:21-395:30 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b
1328testdata/Builtins.lc 395:32-395:46 V1->V1 1537testdata/Builtins.lc 395:32-395:48 V1->V1
1329testdata/Builtins.lc 395:32-395:46 {a} -> {b:'Nat} -> a->'Float -> 'Fragment b a -> 'Fragment b a 1538testdata/Builtins.lc 395:32-395:46 {a} -> {b:'Nat} -> a->'Float -> 'Fragment b a -> 'Fragment b a
1539testdata/Builtins.lc 395:47-395:48 V1->'Float
1540testdata/Builtins.lc 395:47-395:48 V5
1330testdata/Builtins.lc 395:1-395:16 {a} -> {b:'Nat} -> a->'Float -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a) 1541testdata/Builtins.lc 395:1-395:16 {a} -> {b:'Nat} -> a->'Float -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a)
1331testdata/Builtins.lc 397:21-401:55 Type 1542testdata/Builtins.lc 397:21-401:55 Type
1332testdata/Builtins.lc 397:21-401:55 V7 1543testdata/Builtins.lc 397:21-397:22 Type
1544testdata/Builtins.lc 397:21-397:22 V7
1545testdata/Builtins.lc 397:25-397:43 Type
1333testdata/Builtins.lc 397:25-397:41 Type->Type 1546testdata/Builtins.lc 397:25-397:41 Type->Type
1334testdata/Builtins.lc 397:21-401:55 V5 1547testdata/Builtins.lc 397:42-397:43 Type
1335testdata/Builtins.lc 397:21-401:55 V4 1548testdata/Builtins.lc 397:42-397:43 V5
1549testdata/Builtins.lc 397:45-401:55 Type
1550testdata/Builtins.lc 397:45-397:46 Type
1551testdata/Builtins.lc 397:45-397:46 V4
1552testdata/Builtins.lc 397:49-397:78 Type
1336testdata/Builtins.lc 397:49-397:62 Type -> Type->Type 1553testdata/Builtins.lc 397:49-397:62 Type -> Type->Type
1337testdata/Builtins.lc 397:64-397:75 Type 1554testdata/Builtins.lc 397:64-397:75 Type
1338testdata/Builtins.lc 397:64-397:67 'Nat -> Type->Type 1555testdata/Builtins.lc 397:64-397:67 'Nat -> Type->Type
1339testdata/Builtins.lc 397:70-397:75 Type 1556testdata/Builtins.lc 397:70-397:75 Type
1557testdata/Builtins.lc 397:77-397:78 Type
1558testdata/Builtins.lc 398:21-401:55 Type
1559testdata/Builtins.lc 398:21-398:22 Type
1340testdata/Builtins.lc 398:26-398:31 Type 1560testdata/Builtins.lc 398:26-398:31 Type
1561testdata/Builtins.lc 399:20-401:55 Type
1562testdata/Builtins.lc 399:20-399:21 Type
1563testdata/Builtins.lc 400:20-401:55 Type
1341testdata/Builtins.lc 400:20-400:33 'PrimitiveType->Type 1564testdata/Builtins.lc 400:20-400:33 'PrimitiveType->Type
1342testdata/Builtins.lc 397:21-401:55 'PrimitiveType 1565testdata/Builtins.lc 400:34-400:35 'PrimitiveType
1566testdata/Builtins.lc 400:34-400:35 V5
1567testdata/Builtins.lc 401:20-401:55 Type
1343testdata/Builtins.lc 401:20-401:29 'PrimitiveType -> Type->Type 1568testdata/Builtins.lc 401:20-401:29 'PrimitiveType -> Type->Type
1569testdata/Builtins.lc 401:30-401:31 'PrimitiveType
1570testdata/Builtins.lc 401:32-401:33 Type
1571testdata/Builtins.lc 401:37-401:55 Type
1344testdata/Builtins.lc 401:37-401:51 'Nat -> Type->Type 1572testdata/Builtins.lc 401:37-401:51 'Nat -> Type->Type
1573testdata/Builtins.lc 401:54-401:55 Type
1345testdata/Builtins.lc 397:1-397:11 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a) 1574testdata/Builtins.lc 397:1-397:11 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a)
1346testdata/Builtins.lc 403:20-403:54 Type 1575testdata/Builtins.lc 403:20-403:54 Type
1347testdata/Builtins.lc 403:20-403:54 V3 1576testdata/Builtins.lc 403:20-403:21 V3
1348testdata/Builtins.lc 403:25-403:29 Type 1577testdata/Builtins.lc 403:25-403:29 Type
1578testdata/Builtins.lc 403:34-403:54 Type
1349testdata/Builtins.lc 403:34-403:42 'Nat -> Type->Type 1579testdata/Builtins.lc 403:34-403:42 'Nat -> Type->Type
1350testdata/Builtins.lc 403:20-403:54 'Nat 1580testdata/Builtins.lc 403:43-403:44 'Nat
1351testdata/Builtins.lc 403:20-403:54 V2 1581testdata/Builtins.lc 403:43-403:44 V2
1582testdata/Builtins.lc 403:45-403:46 Type
1352testdata/Builtins.lc 403:50-403:54 Type 1583testdata/Builtins.lc 403:50-403:54 Type
1353testdata/Builtins.lc 403:1-403:15 {a} -> {b:'Nat} -> a->'Bool -> 'Fragment b a -> 'Bool 1584testdata/Builtins.lc 403:1-403:15 {a} -> {b:'Nat} -> a->'Bool -> 'Fragment b a -> 'Bool
1354testdata/Builtins.lc 405:21-405:78 Type 1585testdata/Builtins.lc 405:21-405:78 Type
1355testdata/Builtins.lc 405:21-405:78 V3 1586testdata/Builtins.lc 405:21-405:22 V3
1356testdata/Builtins.lc 405:26-405:30 Type 1587testdata/Builtins.lc 405:26-405:30 Type
1588testdata/Builtins.lc 405:36-405:78 Type
1357testdata/Builtins.lc 405:36-405:50 'Nat -> Type->Type 1589testdata/Builtins.lc 405:36-405:50 'Nat -> Type->Type
1358testdata/Builtins.lc 405:21-405:78 'Nat 1590testdata/Builtins.lc 405:51-405:52 'Nat
1359testdata/Builtins.lc 405:21-405:78 V2 1591testdata/Builtins.lc 405:51-405:52 V2
1592testdata/Builtins.lc 405:53-405:54 Type
1593testdata/Builtins.lc 405:60-405:78 Type
1360testdata/Builtins.lc 405:60-405:74 'Nat -> Type->Type 1594testdata/Builtins.lc 405:60-405:74 'Nat -> Type->Type
1361testdata/Builtins.lc 406:21-406:49 {a} -> {b:'Nat} -> a->'Bool -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a) 1595testdata/Builtins.lc 405:75-405:76 'Nat
1362testdata/Builtins.lc 406:21-406:49 {a:'Nat} -> V1->'Bool -> 'Stream ('Fragment a V2) -> 'Stream ('Fragment a V3) 1596testdata/Builtins.lc 405:77-405:78 Type
1363testdata/Builtins.lc 406:21-406:49 V1->'Bool -> 'Stream ('Fragment V1 V2) -> 'Stream ('Fragment V2 V3) 1597testdata/Builtins.lc 406:21-406:51 {a} -> {b:'Nat} -> a->'Bool -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a)
1364testdata/Builtins.lc 406:21-406:49 'Stream ('Fragment V1 V2) -> 'Stream ('Fragment V2 V3) 1598testdata/Builtins.lc 406:21-406:51 {a:'Nat} -> V1->'Bool -> 'Stream ('Fragment a V2) -> 'Stream ('Fragment a V3)
1599testdata/Builtins.lc 406:21-406:51 V1->'Bool -> 'Stream ('Fragment V1 V2) -> 'Stream ('Fragment V2 V3)
1600testdata/Builtins.lc 406:21-406:51 'Stream ('Fragment V1 V2) -> 'Stream ('Fragment V2 V3)
1365testdata/Builtins.lc 406:21-406:33 {a} -> a->'Bool -> 'Stream a -> 'Stream a 1601testdata/Builtins.lc 406:21-406:33 {a} -> a->'Bool -> 'Stream a -> 'Stream a
1366testdata/Builtins.lc 406:35-406:49 V0->'Bool 1602testdata/Builtins.lc 406:35-406:51 V0->'Bool
1367testdata/Builtins.lc 406:35-406:49 {a} -> {b:'Nat} -> a->'Bool -> 'Fragment b a -> 'Bool 1603testdata/Builtins.lc 406:35-406:49 {a} -> {b:'Nat} -> a->'Bool -> 'Fragment b a -> 'Bool
1604testdata/Builtins.lc 406:50-406:51 V1->'Bool
1605testdata/Builtins.lc 406:50-406:51 V5->'Bool
1368testdata/Builtins.lc 406:1-406:16 {a} -> {b:'Nat} -> a->'Bool -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a) 1606testdata/Builtins.lc 406:1-406:16 {a} -> {b:'Nat} -> a->'Bool -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a)
1369testdata/Builtins.lc 408:17-408:56 Type 1607testdata/Builtins.lc 408:17-408:56 Type
1370testdata/Builtins.lc 408:17-408:56 V5 1608testdata/Builtins.lc 408:17-408:18 V5
1371testdata/Builtins.lc 408:17-408:56 V4 1609testdata/Builtins.lc 408:22-408:23 Type
1610testdata/Builtins.lc 408:22-408:23 V4
1611testdata/Builtins.lc 408:28-408:56 Type
1372testdata/Builtins.lc 408:28-408:36 'Nat -> Type->Type 1612testdata/Builtins.lc 408:28-408:36 'Nat -> Type->Type
1373testdata/Builtins.lc 408:17-408:56 'Nat 1613testdata/Builtins.lc 408:37-408:38 'Nat
1374testdata/Builtins.lc 408:17-408:56 V2 1614testdata/Builtins.lc 408:37-408:38 V2
1615testdata/Builtins.lc 408:39-408:40 Type
1616testdata/Builtins.lc 408:44-408:56 Type
1375testdata/Builtins.lc 408:44-408:52 'Nat -> Type->Type 1617testdata/Builtins.lc 408:44-408:52 'Nat -> Type->Type
1618testdata/Builtins.lc 408:53-408:54 'Nat
1619testdata/Builtins.lc 408:55-408:56 Type
1376testdata/Builtins.lc 408:1-408:12 {a} -> {b} -> {c:'Nat} -> a->b -> 'Fragment c a -> 'Fragment c b 1620testdata/Builtins.lc 408:1-408:12 {a} -> {b} -> {c:'Nat} -> a->b -> 'Fragment c a -> 'Fragment c b
1377testdata/Builtins.lc 410:18-410:27 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b 1621testdata/Builtins.lc 410:18-410:27 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b
1378testdata/Builtins.lc 410:29-410:40 V1->V1 1622testdata/Builtins.lc 410:29-410:42 V1->V1
1379testdata/Builtins.lc 410:29-410:40 {a} -> {b} -> {c:'Nat} -> a->b -> 'Fragment c a -> 'Fragment c b 1623testdata/Builtins.lc 410:29-410:40 {a} -> {b} -> {c:'Nat} -> a->b -> 'Fragment c a -> 'Fragment c b
1624testdata/Builtins.lc 410:41-410:42 V2->V2
1625testdata/Builtins.lc 410:41-410:42 V6
1380testdata/Builtins.lc 410:1-410:13 {a} -> {b} -> {c:'Nat} -> a->b -> 'Stream ('Fragment c a) -> 'Stream ('Fragment c b) 1626testdata/Builtins.lc 410:1-410:13 {a} -> {b} -> {c:'Nat} -> a->b -> 'Stream ('Fragment c a) -> 'Stream ('Fragment c b)
1381testdata/Builtins.lc 415:13-415:26 Type->Type 1627testdata/Builtins.lc 415:13-415:26 Type->Type
1382testdata/Builtins.lc 420:13-420:28 Type->Type 1628testdata/Builtins.lc 420:13-420:28 Type->Type
@@ -1454,22 +1700,38 @@ testdata/Builtins.lc 432:3-432:13 {a:'Nat} -> {b} -> 'FragOps' b -> 'Stream ('F
1454testdata/Builtins.lc 433:20-433:117 Type 1700testdata/Builtins.lc 433:20-433:117 Type
1455testdata/Builtins.lc 433:20-433:36 Type->Type 1701testdata/Builtins.lc 433:20-433:36 Type->Type
1456testdata/Builtins.lc 433:37-433:38 Type 1702testdata/Builtins.lc 433:37-433:38 Type
1703testdata/Builtins.lc 433:40-433:117 Type
1457testdata/Builtins.lc 433:40-433:55 Type->Type 1704testdata/Builtins.lc 433:40-433:55 Type->Type
1458testdata/Builtins.lc 433:20-433:117 V2 1705testdata/Builtins.lc 433:56-433:57 Type
1706testdata/Builtins.lc 433:56-433:57 V2
1707testdata/Builtins.lc 433:59-433:117 Type
1459testdata/Builtins.lc 433:59-433:74 Type 1708testdata/Builtins.lc 433:59-433:74 Type
1460testdata/Builtins.lc 433:59-433:70 'Nat -> Type->Type 1709testdata/Builtins.lc 433:59-433:70 'Nat -> Type->Type
1461testdata/Builtins.lc 433:71-433:72 'Nat 1710testdata/Builtins.lc 433:71-433:72 'Nat
1462testdata/Builtins.lc 433:73-433:74 Type 1711testdata/Builtins.lc 433:73-433:74 Type
1712testdata/Builtins.lc 433:77-433:92 Type
1463testdata/Builtins.lc 433:77-433:90 Type->Type 1713testdata/Builtins.lc 433:77-433:90 Type->Type
1714testdata/Builtins.lc 433:91-433:92 Type
1715testdata/Builtins.lc 433:97-433:117 Type
1716testdata/Builtins.lc 433:97-433:98 Type
1464testdata/Builtins.lc 433:102-433:117 Type 1717testdata/Builtins.lc 433:102-433:117 Type
1465testdata/Builtins.lc 433:102-433:113 'Nat -> Type->Type 1718testdata/Builtins.lc 433:102-433:113 'Nat -> Type->Type
1466testdata/Builtins.lc 433:114-433:115 'Nat 1719testdata/Builtins.lc 433:114-433:115 'Nat
1467testdata/Builtins.lc 433:116-433:117 Type 1720testdata/Builtins.lc 433:116-433:117 Type
1468testdata/Builtins.lc 433:3-433:14 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b 1721testdata/Builtins.lc 433:3-433:14 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b
1469testdata/Builtins.lc 435:34-435:44 {a:'Nat} -> {b} -> 'FragOps' b -> 'Stream ('Fragment a ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b 1722testdata/Builtins.lc 435:34-435:44 {a:'Nat} -> {b} -> 'FragOps' b -> 'Stream ('Fragment a ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b
1470testdata/Builtins.lc 435:50-435:62 'Stream ('Fragment V1 ('RemSemantics V0)) 1723testdata/Builtins.lc 435:45-435:48 'FragOps' V0
1724testdata/Builtins.lc 435:45-435:48 V9
1725testdata/Builtins.lc 435:50-435:75 'Stream ('Fragment V1 ('RemSemantics V0))
1471testdata/Builtins.lc 435:50-435:62 {a} -> {b} -> {c:'Nat} -> a->b -> 'Stream ('Fragment c a) -> 'Stream ('Fragment c b) 1726testdata/Builtins.lc 435:50-435:62 {a} -> {b} -> {c:'Nat} -> a->b -> 'Stream ('Fragment c a) -> 'Stream ('Fragment c b)
1727testdata/Builtins.lc 435:63-435:70 V2->V2
1728testdata/Builtins.lc 435:63-435:70 V10
1729testdata/Builtins.lc 435:71-435:75 'Stream ('Fragment V2 V0)
1730testdata/Builtins.lc 435:71-435:75 V6
1731testdata/Builtins.lc 435:77-435:79 'FrameBuffer V2 V1
1732testdata/Builtins.lc 435:77-435:79 V4
1472testdata/Builtins.lc 435:1-435:11 {a:'Nat} -> {b} -> {c} -> 'FragOps' b -> (c -> 'RemSemantics b) -> 'Stream ('Fragment a c) -> 'FrameBuffer a b -> 'FrameBuffer a b 1733testdata/Builtins.lc 435:1-435:11 {a:'Nat} -> {b} -> {c} -> 'FragOps' b -> (c -> 'RemSemantics b) -> 'Stream ('Fragment a c) -> 'FrameBuffer a b -> 'FrameBuffer a b
1734testdata/Builtins.lc 437:25-437:26 V1
1473testdata/Builtins.lc 437:1-437:20 {a} -> a->a 1735testdata/Builtins.lc 437:1-437:20 {a} -> a->a
1474testdata/Builtins.lc 439:15-439:18 Type 1736testdata/Builtins.lc 439:15-439:18 Type
1475testdata/Builtins.lc 439:22-439:34 Type 1737testdata/Builtins.lc 439:22-439:34 Type
@@ -1520,8 +1782,11 @@ testdata/Builtins.lc 443:64-443:67 Type
1520testdata/Builtins.lc 443:3-443:15 {a:'Nat} -> 'Int -> 'Image a ('Stencil 'Int) 1782testdata/Builtins.lc 443:3-443:15 {a:'Nat} -> 'Int -> 'Image a ('Stencil 'Int)
1521testdata/Builtins.lc 446:26-446:54 Type 1783testdata/Builtins.lc 446:26-446:54 Type
1522testdata/Builtins.lc 446:26-446:37 'Nat -> Type->Type 1784testdata/Builtins.lc 446:26-446:37 'Nat -> Type->Type
1523testdata/Builtins.lc 446:26-446:54 V1 1785testdata/Builtins.lc 446:40-446:41 Type
1786testdata/Builtins.lc 446:40-446:41 V1
1787testdata/Builtins.lc 446:45-446:54 Type
1524testdata/Builtins.lc 446:45-446:50 'Nat -> Type->Type 1788testdata/Builtins.lc 446:45-446:50 'Nat -> Type->Type
1789testdata/Builtins.lc 446:53-446:54 Type
1525testdata/Builtins.lc 446:3-446:11 {a} -> 'FrameBuffer (Succ Zero) a -> 'Image (Succ Zero) a 1790testdata/Builtins.lc 446:3-446:11 {a} -> 'FrameBuffer (Succ Zero) a -> 'Image (Succ Zero) a
1526testdata/Builtins.lc 447:26-447:37 'Nat -> Type->Type 1791testdata/Builtins.lc 447:26-447:37 'Nat -> Type->Type
1527testdata/Builtins.lc 447:40-447:74 Type 1792testdata/Builtins.lc 447:40-447:74 Type
@@ -1548,101 +1813,195 @@ testdata/Builtins.lc 442:53-447:105 Type
1548testdata/Builtins.lc 442:53-442:67 Type 1813testdata/Builtins.lc 442:53-442:67 Type
1549testdata/Builtins.lc 443:53-447:105 Type 1814testdata/Builtins.lc 443:53-447:105 Type
1550testdata/Builtins.lc 443:53-443:67 Type 1815testdata/Builtins.lc 443:53-443:67 Type
1551testdata/Builtins.lc 446:26-447:105 Type 1816testdata/Builtins.lc 446:53-447:105 Type
1552testdata/Builtins.lc 449:6-449:12 Type 1817testdata/Builtins.lc 449:6-449:12 Type
1553testdata/Builtins.lc 450:26-450:51 Type 1818testdata/Builtins.lc 450:26-450:51 Type
1554testdata/Builtins.lc 450:26-450:37 'Nat -> Type->Type 1819testdata/Builtins.lc 450:26-450:37 'Nat -> Type->Type
1555testdata/Builtins.lc 450:26-450:51 'Nat 1820testdata/Builtins.lc 450:38-450:39 'Nat
1556testdata/Builtins.lc 450:26-450:51 V3 1821testdata/Builtins.lc 450:38-450:39 V3
1557testdata/Builtins.lc 450:26-450:51 V1 1822testdata/Builtins.lc 450:40-450:41 Type
1823testdata/Builtins.lc 450:40-450:41 V1
1558testdata/Builtins.lc 450:45-450:51 Type 1824testdata/Builtins.lc 450:45-450:51 Type
1559testdata/Builtins.lc 450:3-450:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output 1825testdata/Builtins.lc 450:3-450:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output
1560testdata/Builtins.lc 456:34-456:73 Type 1826testdata/Builtins.lc 456:34-456:73 Type
1561testdata/Builtins.lc 456:34-456:37 Type->Type 1827testdata/Builtins.lc 456:34-456:37 Type->Type
1828testdata/Builtins.lc 456:39-456:57 Type
1562testdata/Builtins.lc 456:39-456:55 Type->Type 1829testdata/Builtins.lc 456:39-456:55 Type->Type
1563testdata/Builtins.lc 456:34-456:73 V1 1830testdata/Builtins.lc 456:56-456:57 Type
1831testdata/Builtins.lc 456:56-456:57 V1
1832testdata/Builtins.lc 456:62-456:73 Type
1833testdata/Builtins.lc 456:62-456:63 Type
1834testdata/Builtins.lc 456:67-456:73 Type
1835testdata/Builtins.lc 456:67-456:68 Type
1836testdata/Builtins.lc 456:72-456:73 Type
1564testdata/Builtins.lc 456:1-456:8 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 1837testdata/Builtins.lc 456:1-456:8 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
1565testdata/Builtins.lc 456:10-456:17 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 1838testdata/Builtins.lc 456:10-456:17 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
1566testdata/Builtins.lc 456:19-456:26 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 1839testdata/Builtins.lc 456:19-456:26 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
1567testdata/Builtins.lc 457:35-457:80 Type 1840testdata/Builtins.lc 457:35-457:80 Type
1568testdata/Builtins.lc 457:35-457:80 V3 1841testdata/Builtins.lc 457:35-457:36 Type
1842testdata/Builtins.lc 457:35-457:36 V3
1843testdata/Builtins.lc 457:39-457:57 Type
1569testdata/Builtins.lc 457:39-457:55 Type->Type 1844testdata/Builtins.lc 457:39-457:55 Type->Type
1570testdata/Builtins.lc 457:35-457:80 V1 1845testdata/Builtins.lc 457:56-457:57 Type
1846testdata/Builtins.lc 457:56-457:57 V1
1847testdata/Builtins.lc 457:59-457:80 Type
1571testdata/Builtins.lc 457:59-457:62 Type->Type 1848testdata/Builtins.lc 457:59-457:62 Type->Type
1849testdata/Builtins.lc 457:63-457:64 Type
1850testdata/Builtins.lc 457:69-457:80 Type
1851testdata/Builtins.lc 457:69-457:70 Type
1852testdata/Builtins.lc 457:74-457:80 Type
1853testdata/Builtins.lc 457:74-457:75 Type
1854testdata/Builtins.lc 457:79-457:80 Type
1572testdata/Builtins.lc 457:1-457:9 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b 1855testdata/Builtins.lc 457:1-457:9 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b
1573testdata/Builtins.lc 457:11-457:19 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b 1856testdata/Builtins.lc 457:11-457:19 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b
1574testdata/Builtins.lc 457:21-457:29 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b 1857testdata/Builtins.lc 457:21-457:29 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b
1575testdata/Builtins.lc 458:35-458:75 Type 1858testdata/Builtins.lc 458:35-458:75 Type
1576testdata/Builtins.lc 458:35-458:38 Type->Type 1859testdata/Builtins.lc 458:35-458:38 Type->Type
1577testdata/Builtins.lc 458:35-458:75 V5 1860testdata/Builtins.lc 458:39-458:40 Type
1578testdata/Builtins.lc 458:35-458:75 V4 1861testdata/Builtins.lc 458:39-458:40 V5
1862testdata/Builtins.lc 458:42-458:75 Type
1863testdata/Builtins.lc 458:42-458:43 Type
1864testdata/Builtins.lc 458:42-458:43 V4
1865testdata/Builtins.lc 458:46-458:59 Type
1579testdata/Builtins.lc 458:46-458:55 'Nat -> Type->Type 1866testdata/Builtins.lc 458:46-458:55 'Nat -> Type->Type
1580testdata/Builtins.lc 458:35-458:75 'Nat 1867testdata/Builtins.lc 458:56-458:57 'Nat
1581testdata/Builtins.lc 458:35-458:75 V2 1868testdata/Builtins.lc 458:56-458:57 V2
1869testdata/Builtins.lc 458:58-458:59 Type
1870testdata/Builtins.lc 458:64-458:75 Type
1871testdata/Builtins.lc 458:64-458:65 Type
1872testdata/Builtins.lc 458:69-458:75 Type
1873testdata/Builtins.lc 458:69-458:70 Type
1874testdata/Builtins.lc 458:74-458:75 Type
1582testdata/Builtins.lc 458:1-458:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 1875testdata/Builtins.lc 458:1-458:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
1583testdata/Builtins.lc 458:10-458:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 1876testdata/Builtins.lc 458:10-458:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
1584testdata/Builtins.lc 459:35-459:75 Type 1877testdata/Builtins.lc 459:35-459:75 Type
1585testdata/Builtins.lc 459:35-459:38 Type->Type 1878testdata/Builtins.lc 459:35-459:38 Type->Type
1586testdata/Builtins.lc 459:35-459:75 V5 1879testdata/Builtins.lc 459:39-459:40 Type
1587testdata/Builtins.lc 459:35-459:75 V4 1880testdata/Builtins.lc 459:39-459:40 V5
1881testdata/Builtins.lc 459:42-459:75 Type
1882testdata/Builtins.lc 459:42-459:43 Type
1883testdata/Builtins.lc 459:42-459:43 V4
1884testdata/Builtins.lc 459:46-459:59 Type
1588testdata/Builtins.lc 459:46-459:55 'Nat -> Type->Type 1885testdata/Builtins.lc 459:46-459:55 'Nat -> Type->Type
1589testdata/Builtins.lc 459:35-459:75 'Nat 1886testdata/Builtins.lc 459:56-459:57 'Nat
1590testdata/Builtins.lc 459:35-459:75 V2 1887testdata/Builtins.lc 459:56-459:57 V2
1888testdata/Builtins.lc 459:58-459:59 Type
1889testdata/Builtins.lc 459:64-459:75 Type
1890testdata/Builtins.lc 459:64-459:65 Type
1891testdata/Builtins.lc 459:69-459:75 Type
1892testdata/Builtins.lc 459:69-459:70 Type
1893testdata/Builtins.lc 459:74-459:75 Type
1591testdata/Builtins.lc 459:1-459:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 1894testdata/Builtins.lc 459:1-459:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
1592testdata/Builtins.lc 459:11-459:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 1895testdata/Builtins.lc 459:11-459:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
1593testdata/Builtins.lc 460:34-460:71 Type 1896testdata/Builtins.lc 460:34-460:71 Type
1594testdata/Builtins.lc 460:34-460:40 Type->Type 1897testdata/Builtins.lc 460:34-460:40 Type->Type
1898testdata/Builtins.lc 460:42-460:60 Type
1595testdata/Builtins.lc 460:42-460:58 Type->Type 1899testdata/Builtins.lc 460:42-460:58 Type->Type
1596testdata/Builtins.lc 460:34-460:71 V1 1900testdata/Builtins.lc 460:59-460:60 Type
1901testdata/Builtins.lc 460:59-460:60 V1
1902testdata/Builtins.lc 460:65-460:71 Type
1903testdata/Builtins.lc 460:65-460:66 Type
1904testdata/Builtins.lc 460:70-460:71 Type
1597testdata/Builtins.lc 460:1-460:8 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a 1905testdata/Builtins.lc 460:1-460:8 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a
1598testdata/Builtins.lc 462:35-462:80 Type 1906testdata/Builtins.lc 462:35-462:80 Type
1599testdata/Builtins.lc 462:35-462:43 Type->Type 1907testdata/Builtins.lc 462:35-462:43 Type->Type
1600testdata/Builtins.lc 462:35-462:80 V5 1908testdata/Builtins.lc 462:44-462:45 Type
1601testdata/Builtins.lc 462:35-462:80 V4 1909testdata/Builtins.lc 462:44-462:45 V5
1910testdata/Builtins.lc 462:47-462:80 Type
1911testdata/Builtins.lc 462:47-462:48 Type
1912testdata/Builtins.lc 462:47-462:48 V4
1913testdata/Builtins.lc 462:51-462:64 Type
1602testdata/Builtins.lc 462:51-462:60 'Nat -> Type->Type 1914testdata/Builtins.lc 462:51-462:60 'Nat -> Type->Type
1603testdata/Builtins.lc 462:35-462:80 'Nat 1915testdata/Builtins.lc 462:61-462:62 'Nat
1604testdata/Builtins.lc 462:35-462:80 V2 1916testdata/Builtins.lc 462:61-462:62 V2
1917testdata/Builtins.lc 462:63-462:64 Type
1918testdata/Builtins.lc 462:69-462:80 Type
1919testdata/Builtins.lc 462:69-462:70 Type
1920testdata/Builtins.lc 462:74-462:80 Type
1921testdata/Builtins.lc 462:74-462:75 Type
1922testdata/Builtins.lc 462:79-462:80 Type
1605testdata/Builtins.lc 462:1-462:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 1923testdata/Builtins.lc 462:1-462:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
1606testdata/Builtins.lc 462:11-462:18 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 1924testdata/Builtins.lc 462:11-462:18 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
1607testdata/Builtins.lc 462:20-462:28 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 1925testdata/Builtins.lc 462:20-462:28 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
1608testdata/Builtins.lc 463:35-463:80 Type 1926testdata/Builtins.lc 463:35-463:80 Type
1609testdata/Builtins.lc 463:35-463:43 Type->Type 1927testdata/Builtins.lc 463:35-463:43 Type->Type
1610testdata/Builtins.lc 463:35-463:80 V5 1928testdata/Builtins.lc 463:44-463:45 Type
1611testdata/Builtins.lc 463:35-463:80 V4 1929testdata/Builtins.lc 463:44-463:45 V5
1930testdata/Builtins.lc 463:47-463:80 Type
1931testdata/Builtins.lc 463:47-463:48 Type
1932testdata/Builtins.lc 463:47-463:48 V4
1933testdata/Builtins.lc 463:51-463:64 Type
1612testdata/Builtins.lc 463:51-463:60 'Nat -> Type->Type 1934testdata/Builtins.lc 463:51-463:60 'Nat -> Type->Type
1613testdata/Builtins.lc 463:35-463:80 'Nat 1935testdata/Builtins.lc 463:61-463:62 'Nat
1614testdata/Builtins.lc 463:35-463:80 V2 1936testdata/Builtins.lc 463:61-463:62 V2
1937testdata/Builtins.lc 463:63-463:64 Type
1938testdata/Builtins.lc 463:69-463:80 Type
1939testdata/Builtins.lc 463:69-463:70 Type
1940testdata/Builtins.lc 463:74-463:80 Type
1941testdata/Builtins.lc 463:74-463:75 Type
1942testdata/Builtins.lc 463:79-463:80 Type
1615testdata/Builtins.lc 463:1-463:10 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 1943testdata/Builtins.lc 463:1-463:10 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
1616testdata/Builtins.lc 463:12-463:20 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 1944testdata/Builtins.lc 463:12-463:20 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
1617testdata/Builtins.lc 463:22-463:31 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 1945testdata/Builtins.lc 463:22-463:31 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
1618testdata/Builtins.lc 464:35-464:75 Type 1946testdata/Builtins.lc 464:35-464:75 Type
1619testdata/Builtins.lc 464:35-464:43 Type->Type 1947testdata/Builtins.lc 464:35-464:43 Type->Type
1620testdata/Builtins.lc 464:35-464:75 V5 1948testdata/Builtins.lc 464:44-464:45 Type
1621testdata/Builtins.lc 464:35-464:75 V4 1949testdata/Builtins.lc 464:44-464:45 V5
1950testdata/Builtins.lc 464:47-464:75 Type
1951testdata/Builtins.lc 464:47-464:48 Type
1952testdata/Builtins.lc 464:47-464:48 V4
1953testdata/Builtins.lc 464:51-464:64 Type
1622testdata/Builtins.lc 464:51-464:60 'Nat -> Type->Type 1954testdata/Builtins.lc 464:51-464:60 'Nat -> Type->Type
1623testdata/Builtins.lc 464:35-464:75 'Nat 1955testdata/Builtins.lc 464:61-464:62 'Nat
1624testdata/Builtins.lc 464:35-464:75 V2 1956testdata/Builtins.lc 464:61-464:62 V2
1957testdata/Builtins.lc 464:63-464:64 Type
1958testdata/Builtins.lc 464:69-464:75 Type
1959testdata/Builtins.lc 464:69-464:70 Type
1960testdata/Builtins.lc 464:74-464:75 Type
1625testdata/Builtins.lc 464:1-464:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b->b 1961testdata/Builtins.lc 464:1-464:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b->b
1626testdata/Builtins.lc 465:35-465:102 Type 1962testdata/Builtins.lc 465:35-465:102 Type
1627testdata/Builtins.lc 465:35-465:43 Type->Type 1963testdata/Builtins.lc 465:35-465:43 Type->Type
1628testdata/Builtins.lc 465:35-465:102 V7 1964testdata/Builtins.lc 465:44-465:45 Type
1629testdata/Builtins.lc 465:35-465:102 V6 1965testdata/Builtins.lc 465:44-465:45 V7
1966testdata/Builtins.lc 465:47-465:102 Type
1967testdata/Builtins.lc 465:47-465:48 Type
1968testdata/Builtins.lc 465:47-465:48 V6
1969testdata/Builtins.lc 465:51-465:64 Type
1630testdata/Builtins.lc 465:51-465:60 'Nat -> Type->Type 1970testdata/Builtins.lc 465:51-465:60 'Nat -> Type->Type
1631testdata/Builtins.lc 465:35-465:102 'Nat 1971testdata/Builtins.lc 465:61-465:62 'Nat
1632testdata/Builtins.lc 465:35-465:102 V4 1972testdata/Builtins.lc 465:61-465:62 V4
1633testdata/Builtins.lc 465:35-465:102 V3 1973testdata/Builtins.lc 465:63-465:64 Type
1974testdata/Builtins.lc 465:66-465:102 Type
1975testdata/Builtins.lc 465:66-465:67 Type
1976testdata/Builtins.lc 465:66-465:67 V3
1977testdata/Builtins.lc 465:70-465:86 Type
1634testdata/Builtins.lc 465:70-465:79 'Nat -> Type->Type 1978testdata/Builtins.lc 465:70-465:79 'Nat -> Type->Type
1979testdata/Builtins.lc 465:80-465:81 'Nat
1635testdata/Builtins.lc 465:82-465:86 Type 1980testdata/Builtins.lc 465:82-465:86 Type
1981testdata/Builtins.lc 465:91-465:102 Type
1982testdata/Builtins.lc 465:91-465:92 Type
1983testdata/Builtins.lc 465:96-465:102 Type
1984testdata/Builtins.lc 465:96-465:97 Type
1985testdata/Builtins.lc 465:101-465:102 Type
1636testdata/Builtins.lc 465:1-465:12 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b 1986testdata/Builtins.lc 465:1-465:12 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b
1637testdata/Builtins.lc 465:14-465:25 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b 1987testdata/Builtins.lc 465:14-465:25 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b
1638testdata/Builtins.lc 466:35-466:83 Type 1988testdata/Builtins.lc 466:35-466:83 Type
1639testdata/Builtins.lc 466:35-466:43 Type->Type 1989testdata/Builtins.lc 466:35-466:43 Type->Type
1640testdata/Builtins.lc 466:35-466:83 V5 1990testdata/Builtins.lc 466:44-466:45 Type
1641testdata/Builtins.lc 466:35-466:83 V4 1991testdata/Builtins.lc 466:44-466:45 V5
1992testdata/Builtins.lc 466:47-466:83 Type
1993testdata/Builtins.lc 466:47-466:48 Type
1994testdata/Builtins.lc 466:47-466:48 V4
1995testdata/Builtins.lc 466:51-466:64 Type
1642testdata/Builtins.lc 466:51-466:60 'Nat -> Type->Type 1996testdata/Builtins.lc 466:51-466:60 'Nat -> Type->Type
1643testdata/Builtins.lc 466:35-466:83 'Nat 1997testdata/Builtins.lc 466:61-466:62 'Nat
1644testdata/Builtins.lc 466:35-466:83 V2 1998testdata/Builtins.lc 466:61-466:62 V2
1999testdata/Builtins.lc 466:63-466:64 Type
2000testdata/Builtins.lc 466:69-466:83 Type
2001testdata/Builtins.lc 466:69-466:70 Type
2002testdata/Builtins.lc 466:74-466:83 Type
1645testdata/Builtins.lc 466:74-466:78 Type 2003testdata/Builtins.lc 466:74-466:78 Type
2004testdata/Builtins.lc 466:82-466:83 Type
1646testdata/Builtins.lc 466:1-466:13 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b 2005testdata/Builtins.lc 466:1-466:13 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b
1647testdata/Builtins.lc 466:15-466:27 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b 2006testdata/Builtins.lc 466:15-466:27 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b
1648testdata/Builtins.lc 468:34-468:38 Type 2007testdata/Builtins.lc 468:34-468:38 Type
@@ -1653,26 +2012,36 @@ testdata/Builtins.lc 468:1-468:8 'Bool -> 'Bool->'Bool
1653testdata/Builtins.lc 468:10-468:16 'Bool -> 'Bool->'Bool 2012testdata/Builtins.lc 468:10-468:16 'Bool -> 'Bool->'Bool
1654testdata/Builtins.lc 468:18-468:25 'Bool -> 'Bool->'Bool 2013testdata/Builtins.lc 468:18-468:25 'Bool -> 'Bool->'Bool
1655testdata/Builtins.lc 469:35-469:66 Type 2014testdata/Builtins.lc 469:35-469:66 Type
1656testdata/Builtins.lc 469:35-469:66 V3 2015testdata/Builtins.lc 469:35-469:36 Type
2016testdata/Builtins.lc 469:35-469:36 V3
2017testdata/Builtins.lc 469:39-469:55 Type
1657testdata/Builtins.lc 469:39-469:48 'Nat -> Type->Type 2018testdata/Builtins.lc 469:39-469:48 'Nat -> Type->Type
1658testdata/Builtins.lc 469:35-469:66 'Nat 2019testdata/Builtins.lc 469:49-469:50 'Nat
1659testdata/Builtins.lc 469:35-469:66 V1 2020testdata/Builtins.lc 469:49-469:50 V1
1660testdata/Builtins.lc 469:51-469:55 Type 2021testdata/Builtins.lc 469:51-469:55 Type
2022testdata/Builtins.lc 469:60-469:66 Type
2023testdata/Builtins.lc 469:60-469:61 Type
2024testdata/Builtins.lc 469:65-469:66 Type
1661testdata/Builtins.lc 469:1-469:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a 2025testdata/Builtins.lc 469:1-469:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a
1662testdata/Builtins.lc 470:34-470:58 Type 2026testdata/Builtins.lc 470:34-470:58 Type
1663testdata/Builtins.lc 470:34-470:43 'Nat -> Type->Type 2027testdata/Builtins.lc 470:34-470:43 'Nat -> Type->Type
1664testdata/Builtins.lc 470:34-470:58 'Nat 2028testdata/Builtins.lc 470:44-470:45 'Nat
1665testdata/Builtins.lc 470:34-470:58 V1 2029testdata/Builtins.lc 470:44-470:45 V1
1666testdata/Builtins.lc 470:46-470:50 Type 2030testdata/Builtins.lc 470:46-470:50 Type
1667testdata/Builtins.lc 470:54-470:58 Type 2031testdata/Builtins.lc 470:54-470:58 Type
1668testdata/Builtins.lc 470:1-470:8 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool 2032testdata/Builtins.lc 470:1-470:8 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool
1669testdata/Builtins.lc 470:10-470:17 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool 2033testdata/Builtins.lc 470:10-470:17 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool
1670testdata/Builtins.lc 474:35-474:67 Type 2034testdata/Builtins.lc 474:35-474:67 Type
1671testdata/Builtins.lc 474:35-474:67 V3 2035testdata/Builtins.lc 474:35-474:36 Type
2036testdata/Builtins.lc 474:35-474:36 V3
2037testdata/Builtins.lc 474:39-474:56 Type
1672testdata/Builtins.lc 474:39-474:48 'Nat -> Type->Type 2038testdata/Builtins.lc 474:39-474:48 'Nat -> Type->Type
1673testdata/Builtins.lc 474:35-474:67 'Nat 2039testdata/Builtins.lc 474:49-474:50 'Nat
1674testdata/Builtins.lc 474:35-474:67 V1 2040testdata/Builtins.lc 474:49-474:50 V1
1675testdata/Builtins.lc 474:51-474:56 Type 2041testdata/Builtins.lc 474:51-474:56 Type
2042testdata/Builtins.lc 474:61-474:67 Type
2043testdata/Builtins.lc 474:61-474:62 Type
2044testdata/Builtins.lc 474:66-474:67 Type
1676testdata/Builtins.lc 473:1-473:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2045testdata/Builtins.lc 473:1-473:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1677testdata/Builtins.lc 473:11-473:20 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2046testdata/Builtins.lc 473:11-473:20 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1678testdata/Builtins.lc 473:22-473:30 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2047testdata/Builtins.lc 473:22-473:30 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
@@ -1694,19 +2063,31 @@ testdata/Builtins.lc 473:175-473:183 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b '
1694testdata/Builtins.lc 473:185-473:193 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2063testdata/Builtins.lc 473:185-473:193 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1695testdata/Builtins.lc 473:195-473:206 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2064testdata/Builtins.lc 473:195-473:206 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1696testdata/Builtins.lc 475:35-475:72 Type 2065testdata/Builtins.lc 475:35-475:72 Type
1697testdata/Builtins.lc 475:35-475:72 V3 2066testdata/Builtins.lc 475:35-475:36 Type
2067testdata/Builtins.lc 475:35-475:36 V3
2068testdata/Builtins.lc 475:39-475:56 Type
1698testdata/Builtins.lc 475:39-475:48 'Nat -> Type->Type 2069testdata/Builtins.lc 475:39-475:48 'Nat -> Type->Type
1699testdata/Builtins.lc 475:35-475:72 'Nat 2070testdata/Builtins.lc 475:49-475:50 'Nat
1700testdata/Builtins.lc 475:35-475:72 V1 2071testdata/Builtins.lc 475:49-475:50 V1
1701testdata/Builtins.lc 475:51-475:56 Type 2072testdata/Builtins.lc 475:51-475:56 Type
2073testdata/Builtins.lc 475:61-475:72 Type
2074testdata/Builtins.lc 475:61-475:62 Type
2075testdata/Builtins.lc 475:66-475:72 Type
2076testdata/Builtins.lc 475:66-475:67 Type
2077testdata/Builtins.lc 475:71-475:72 Type
1702testdata/Builtins.lc 475:1-475:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a 2078testdata/Builtins.lc 475:1-475:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a
1703testdata/Builtins.lc 475:10-475:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a 2079testdata/Builtins.lc 475:10-475:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a
1704testdata/Builtins.lc 478:35-478:67 Type 2080testdata/Builtins.lc 478:35-478:67 Type
1705testdata/Builtins.lc 478:35-478:67 V3 2081testdata/Builtins.lc 478:35-478:36 Type
2082testdata/Builtins.lc 478:35-478:36 V3
2083testdata/Builtins.lc 478:39-478:56 Type
1706testdata/Builtins.lc 478:39-478:48 'Nat -> Type->Type 2084testdata/Builtins.lc 478:39-478:48 'Nat -> Type->Type
1707testdata/Builtins.lc 478:35-478:67 'Nat 2085testdata/Builtins.lc 478:49-478:50 'Nat
1708testdata/Builtins.lc 478:35-478:67 V1 2086testdata/Builtins.lc 478:49-478:50 V1
1709testdata/Builtins.lc 478:51-478:56 Type 2087testdata/Builtins.lc 478:51-478:56 Type
2088testdata/Builtins.lc 478:61-478:67 Type
2089testdata/Builtins.lc 478:61-478:62 Type
2090testdata/Builtins.lc 478:66-478:67 Type
1710testdata/Builtins.lc 477:1-477:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2091testdata/Builtins.lc 477:1-477:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1711testdata/Builtins.lc 477:12-477:21 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2092testdata/Builtins.lc 477:12-477:21 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1712testdata/Builtins.lc 477:23-477:32 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2093testdata/Builtins.lc 477:23-477:32 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
@@ -1715,268 +2096,502 @@ testdata/Builtins.lc 477:49-477:57 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Fl
1715testdata/Builtins.lc 477:59-477:68 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2096testdata/Builtins.lc 477:59-477:68 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1716testdata/Builtins.lc 479:35-479:75 Type 2097testdata/Builtins.lc 479:35-479:75 Type
1717testdata/Builtins.lc 479:35-479:38 Type->Type 2098testdata/Builtins.lc 479:35-479:38 Type->Type
1718testdata/Builtins.lc 479:35-479:75 V5 2099testdata/Builtins.lc 479:39-479:40 Type
1719testdata/Builtins.lc 479:35-479:75 V4 2100testdata/Builtins.lc 479:39-479:40 V5
2101testdata/Builtins.lc 479:42-479:75 Type
2102testdata/Builtins.lc 479:42-479:43 Type
2103testdata/Builtins.lc 479:42-479:43 V4
2104testdata/Builtins.lc 479:46-479:59 Type
1720testdata/Builtins.lc 479:46-479:55 'Nat -> Type->Type 2105testdata/Builtins.lc 479:46-479:55 'Nat -> Type->Type
1721testdata/Builtins.lc 479:35-479:75 'Nat 2106testdata/Builtins.lc 479:56-479:57 'Nat
1722testdata/Builtins.lc 479:35-479:75 V2 2107testdata/Builtins.lc 479:56-479:57 V2
2108testdata/Builtins.lc 479:58-479:59 Type
2109testdata/Builtins.lc 479:64-479:75 Type
2110testdata/Builtins.lc 479:64-479:65 Type
2111testdata/Builtins.lc 479:69-479:75 Type
2112testdata/Builtins.lc 479:69-479:70 Type
2113testdata/Builtins.lc 479:74-479:75 Type
1723testdata/Builtins.lc 479:1-479:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 2114testdata/Builtins.lc 479:1-479:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
1724testdata/Builtins.lc 479:10-479:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 2115testdata/Builtins.lc 479:10-479:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
1725testdata/Builtins.lc 480:35-480:75 Type 2116testdata/Builtins.lc 480:35-480:75 Type
1726testdata/Builtins.lc 480:35-480:38 Type->Type 2117testdata/Builtins.lc 480:35-480:38 Type->Type
1727testdata/Builtins.lc 480:35-480:75 V5 2118testdata/Builtins.lc 480:39-480:40 Type
1728testdata/Builtins.lc 480:35-480:75 V4 2119testdata/Builtins.lc 480:39-480:40 V5
2120testdata/Builtins.lc 480:42-480:75 Type
2121testdata/Builtins.lc 480:42-480:43 Type
2122testdata/Builtins.lc 480:42-480:43 V4
2123testdata/Builtins.lc 480:46-480:59 Type
1729testdata/Builtins.lc 480:46-480:55 'Nat -> Type->Type 2124testdata/Builtins.lc 480:46-480:55 'Nat -> Type->Type
1730testdata/Builtins.lc 480:35-480:75 'Nat 2125testdata/Builtins.lc 480:56-480:57 'Nat
1731testdata/Builtins.lc 480:35-480:75 V2 2126testdata/Builtins.lc 480:56-480:57 V2
2127testdata/Builtins.lc 480:58-480:59 Type
2128testdata/Builtins.lc 480:64-480:75 Type
2129testdata/Builtins.lc 480:64-480:65 Type
2130testdata/Builtins.lc 480:69-480:75 Type
2131testdata/Builtins.lc 480:69-480:70 Type
2132testdata/Builtins.lc 480:74-480:75 Type
1732testdata/Builtins.lc 480:1-480:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 2133testdata/Builtins.lc 480:1-480:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
1733testdata/Builtins.lc 480:11-480:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 2134testdata/Builtins.lc 480:11-480:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
1734testdata/Builtins.lc 481:35-481:89 Type 2135testdata/Builtins.lc 481:35-481:89 Type
1735testdata/Builtins.lc 481:35-481:89 V5 2136testdata/Builtins.lc 481:35-481:36 Type
2137testdata/Builtins.lc 481:35-481:36 V5
2138testdata/Builtins.lc 481:39-481:56 Type
1736testdata/Builtins.lc 481:39-481:48 'Nat -> Type->Type 2139testdata/Builtins.lc 481:39-481:48 'Nat -> Type->Type
1737testdata/Builtins.lc 481:35-481:89 'Nat 2140testdata/Builtins.lc 481:49-481:50 'Nat
1738testdata/Builtins.lc 481:35-481:89 V3 2141testdata/Builtins.lc 481:49-481:50 V3
1739testdata/Builtins.lc 481:51-481:56 Type 2142testdata/Builtins.lc 481:51-481:56 Type
1740testdata/Builtins.lc 481:35-481:89 V2 2143testdata/Builtins.lc 481:58-481:89 Type
2144testdata/Builtins.lc 481:58-481:59 Type
2145testdata/Builtins.lc 481:58-481:59 V2
2146testdata/Builtins.lc 481:62-481:78 Type
1741testdata/Builtins.lc 481:62-481:71 'Nat -> Type->Type 2147testdata/Builtins.lc 481:62-481:71 'Nat -> Type->Type
2148testdata/Builtins.lc 481:72-481:73 'Nat
1742testdata/Builtins.lc 481:74-481:78 Type 2149testdata/Builtins.lc 481:74-481:78 Type
2150testdata/Builtins.lc 481:83-481:89 Type
2151testdata/Builtins.lc 481:83-481:84 Type
2152testdata/Builtins.lc 481:88-481:89 Type
1743testdata/Builtins.lc 481:1-481:10 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c 2153testdata/Builtins.lc 481:1-481:10 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c
1744testdata/Builtins.lc 481:12-481:21 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c 2154testdata/Builtins.lc 481:12-481:21 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c
1745testdata/Builtins.lc 482:35-482:73 Type 2155testdata/Builtins.lc 482:35-482:73 Type
1746testdata/Builtins.lc 482:35-482:41 Type->Type 2156testdata/Builtins.lc 482:35-482:41 Type->Type
1747testdata/Builtins.lc 482:35-482:73 V5 2157testdata/Builtins.lc 482:42-482:43 Type
1748testdata/Builtins.lc 482:35-482:73 V4 2158testdata/Builtins.lc 482:42-482:43 V5
2159testdata/Builtins.lc 482:45-482:73 Type
2160testdata/Builtins.lc 482:45-482:46 Type
2161testdata/Builtins.lc 482:45-482:46 V4
2162testdata/Builtins.lc 482:49-482:62 Type
1749testdata/Builtins.lc 482:49-482:58 'Nat -> Type->Type 2163testdata/Builtins.lc 482:49-482:58 'Nat -> Type->Type
1750testdata/Builtins.lc 482:35-482:73 'Nat 2164testdata/Builtins.lc 482:59-482:60 'Nat
1751testdata/Builtins.lc 482:35-482:73 V2 2165testdata/Builtins.lc 482:59-482:60 V2
2166testdata/Builtins.lc 482:61-482:62 Type
2167testdata/Builtins.lc 482:67-482:73 Type
2168testdata/Builtins.lc 482:67-482:68 Type
2169testdata/Builtins.lc 482:72-482:73 Type
1752testdata/Builtins.lc 482:1-482:8 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b 2170testdata/Builtins.lc 482:1-482:8 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b
1753testdata/Builtins.lc 482:10-482:18 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b 2171testdata/Builtins.lc 482:10-482:18 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b
1754testdata/Builtins.lc 483:35-483:72 Type 2172testdata/Builtins.lc 483:35-483:72 Type
1755testdata/Builtins.lc 483:35-483:72 V3 2173testdata/Builtins.lc 483:35-483:36 Type
2174testdata/Builtins.lc 483:35-483:36 V3
2175testdata/Builtins.lc 483:39-483:56 Type
1756testdata/Builtins.lc 483:39-483:48 'Nat -> Type->Type 2176testdata/Builtins.lc 483:39-483:48 'Nat -> Type->Type
1757testdata/Builtins.lc 483:35-483:72 'Nat 2177testdata/Builtins.lc 483:49-483:50 'Nat
1758testdata/Builtins.lc 483:35-483:72 V1 2178testdata/Builtins.lc 483:49-483:50 V1
1759testdata/Builtins.lc 483:51-483:56 Type 2179testdata/Builtins.lc 483:51-483:56 Type
2180testdata/Builtins.lc 483:61-483:72 Type
2181testdata/Builtins.lc 483:61-483:62 Type
2182testdata/Builtins.lc 483:66-483:72 Type
1760testdata/Builtins.lc 483:66-483:72 Type -> Type->Type 2183testdata/Builtins.lc 483:66-483:72 Type -> Type->Type
2184testdata/Builtins.lc 483:67-483:68 Type
2185testdata/Builtins.lc 483:70-483:71 Type
1761testdata/Builtins.lc 483:1-483:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> 'Tuple2 a a 2186testdata/Builtins.lc 483:1-483:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> 'Tuple2 a a
1762testdata/Builtins.lc 484:35-484:80 Type 2187testdata/Builtins.lc 484:35-484:80 Type
1763testdata/Builtins.lc 484:35-484:38 Type->Type 2188testdata/Builtins.lc 484:35-484:38 Type->Type
1764testdata/Builtins.lc 484:35-484:80 V5 2189testdata/Builtins.lc 484:39-484:40 Type
1765testdata/Builtins.lc 484:35-484:80 V4 2190testdata/Builtins.lc 484:39-484:40 V5
2191testdata/Builtins.lc 484:42-484:80 Type
2192testdata/Builtins.lc 484:42-484:43 Type
2193testdata/Builtins.lc 484:42-484:43 V4
2194testdata/Builtins.lc 484:46-484:59 Type
1766testdata/Builtins.lc 484:46-484:55 'Nat -> Type->Type 2195testdata/Builtins.lc 484:46-484:55 'Nat -> Type->Type
1767testdata/Builtins.lc 484:35-484:80 'Nat 2196testdata/Builtins.lc 484:56-484:57 'Nat
1768testdata/Builtins.lc 484:35-484:80 V2 2197testdata/Builtins.lc 484:56-484:57 V2
2198testdata/Builtins.lc 484:58-484:59 Type
2199testdata/Builtins.lc 484:64-484:80 Type
2200testdata/Builtins.lc 484:64-484:65 Type
2201testdata/Builtins.lc 484:69-484:80 Type
2202testdata/Builtins.lc 484:69-484:70 Type
2203testdata/Builtins.lc 484:74-484:80 Type
2204testdata/Builtins.lc 484:74-484:75 Type
2205testdata/Builtins.lc 484:79-484:80 Type
1769testdata/Builtins.lc 484:1-484:10 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b -> b->b 2206testdata/Builtins.lc 484:1-484:10 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b -> b->b
1770testdata/Builtins.lc 485:35-485:80 Type 2207testdata/Builtins.lc 485:35-485:80 Type
1771testdata/Builtins.lc 485:35-485:38 Type->Type 2208testdata/Builtins.lc 485:35-485:38 Type->Type
1772testdata/Builtins.lc 485:35-485:80 V5 2209testdata/Builtins.lc 485:39-485:40 Type
1773testdata/Builtins.lc 485:35-485:80 V4 2210testdata/Builtins.lc 485:39-485:40 V5
2211testdata/Builtins.lc 485:42-485:80 Type
2212testdata/Builtins.lc 485:42-485:43 Type
2213testdata/Builtins.lc 485:42-485:43 V4
2214testdata/Builtins.lc 485:46-485:59 Type
1774testdata/Builtins.lc 485:46-485:55 'Nat -> Type->Type 2215testdata/Builtins.lc 485:46-485:55 'Nat -> Type->Type
1775testdata/Builtins.lc 485:35-485:80 'Nat 2216testdata/Builtins.lc 485:56-485:57 'Nat
1776testdata/Builtins.lc 485:35-485:80 V2 2217testdata/Builtins.lc 485:56-485:57 V2
2218testdata/Builtins.lc 485:58-485:59 Type
2219testdata/Builtins.lc 485:64-485:80 Type
2220testdata/Builtins.lc 485:64-485:65 Type
2221testdata/Builtins.lc 485:69-485:80 Type
2222testdata/Builtins.lc 485:69-485:70 Type
2223testdata/Builtins.lc 485:74-485:80 Type
2224testdata/Builtins.lc 485:74-485:75 Type
2225testdata/Builtins.lc 485:79-485:80 Type
1777testdata/Builtins.lc 485:1-485:11 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a -> a->b 2226testdata/Builtins.lc 485:1-485:11 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a -> a->b
1778testdata/Builtins.lc 486:35-486:77 Type 2227testdata/Builtins.lc 486:35-486:77 Type
1779testdata/Builtins.lc 486:35-486:77 V3 2228testdata/Builtins.lc 486:35-486:36 Type
2229testdata/Builtins.lc 486:35-486:36 V3
2230testdata/Builtins.lc 486:39-486:56 Type
1780testdata/Builtins.lc 486:39-486:48 'Nat -> Type->Type 2231testdata/Builtins.lc 486:39-486:48 'Nat -> Type->Type
1781testdata/Builtins.lc 486:35-486:77 'Nat 2232testdata/Builtins.lc 486:49-486:50 'Nat
1782testdata/Builtins.lc 486:35-486:77 V1 2233testdata/Builtins.lc 486:49-486:50 V1
1783testdata/Builtins.lc 486:51-486:56 Type 2234testdata/Builtins.lc 486:51-486:56 Type
2235testdata/Builtins.lc 486:61-486:77 Type
2236testdata/Builtins.lc 486:61-486:62 Type
2237testdata/Builtins.lc 486:66-486:77 Type
2238testdata/Builtins.lc 486:66-486:67 Type
2239testdata/Builtins.lc 486:71-486:77 Type
2240testdata/Builtins.lc 486:71-486:72 Type
2241testdata/Builtins.lc 486:76-486:77 Type
1784testdata/Builtins.lc 486:1-486:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a 2242testdata/Builtins.lc 486:1-486:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a
1785testdata/Builtins.lc 487:35-487:81 Type 2243testdata/Builtins.lc 487:35-487:81 Type
1786testdata/Builtins.lc 487:35-487:81 V3 2244testdata/Builtins.lc 487:35-487:36 Type
2245testdata/Builtins.lc 487:35-487:36 V3
2246testdata/Builtins.lc 487:39-487:56 Type
1787testdata/Builtins.lc 487:39-487:48 'Nat -> Type->Type 2247testdata/Builtins.lc 487:39-487:48 'Nat -> Type->Type
1788testdata/Builtins.lc 487:35-487:81 'Nat 2248testdata/Builtins.lc 487:49-487:50 'Nat
1789testdata/Builtins.lc 487:35-487:81 V1 2249testdata/Builtins.lc 487:49-487:50 V1
1790testdata/Builtins.lc 487:51-487:56 Type 2250testdata/Builtins.lc 487:51-487:56 Type
2251testdata/Builtins.lc 487:61-487:81 Type
2252testdata/Builtins.lc 487:61-487:62 Type
2253testdata/Builtins.lc 487:66-487:81 Type
2254testdata/Builtins.lc 487:66-487:67 Type
2255testdata/Builtins.lc 487:71-487:81 Type
1791testdata/Builtins.lc 487:71-487:76 Type 2256testdata/Builtins.lc 487:71-487:76 Type
2257testdata/Builtins.lc 487:80-487:81 Type
1792testdata/Builtins.lc 487:1-487:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a 2258testdata/Builtins.lc 487:1-487:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a
1793testdata/Builtins.lc 488:35-488:99 Type 2259testdata/Builtins.lc 488:35-488:99 Type
1794testdata/Builtins.lc 488:35-488:99 V5 2260testdata/Builtins.lc 488:35-488:36 Type
2261testdata/Builtins.lc 488:35-488:36 V5
2262testdata/Builtins.lc 488:39-488:56 Type
1795testdata/Builtins.lc 488:39-488:48 'Nat -> Type->Type 2263testdata/Builtins.lc 488:39-488:48 'Nat -> Type->Type
1796testdata/Builtins.lc 488:35-488:99 'Nat 2264testdata/Builtins.lc 488:49-488:50 'Nat
1797testdata/Builtins.lc 488:35-488:99 V3 2265testdata/Builtins.lc 488:49-488:50 V3
1798testdata/Builtins.lc 488:51-488:56 Type 2266testdata/Builtins.lc 488:51-488:56 Type
1799testdata/Builtins.lc 488:35-488:99 V2 2267testdata/Builtins.lc 488:58-488:99 Type
2268testdata/Builtins.lc 488:58-488:59 Type
2269testdata/Builtins.lc 488:58-488:59 V2
2270testdata/Builtins.lc 488:62-488:78 Type
1800testdata/Builtins.lc 488:62-488:71 'Nat -> Type->Type 2271testdata/Builtins.lc 488:62-488:71 'Nat -> Type->Type
2272testdata/Builtins.lc 488:72-488:73 'Nat
1801testdata/Builtins.lc 488:74-488:78 Type 2273testdata/Builtins.lc 488:74-488:78 Type
2274testdata/Builtins.lc 488:83-488:99 Type
2275testdata/Builtins.lc 488:83-488:84 Type
2276testdata/Builtins.lc 488:88-488:99 Type
2277testdata/Builtins.lc 488:88-488:89 Type
2278testdata/Builtins.lc 488:93-488:99 Type
2279testdata/Builtins.lc 488:93-488:94 Type
2280testdata/Builtins.lc 488:98-488:99 Type
1802testdata/Builtins.lc 488:1-488:9 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a 2281testdata/Builtins.lc 488:1-488:9 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a
1803testdata/Builtins.lc 489:35-489:68 Type 2282testdata/Builtins.lc 489:35-489:68 Type
1804testdata/Builtins.lc 489:35-489:68 V3 2283testdata/Builtins.lc 489:35-489:36 Type
2284testdata/Builtins.lc 489:35-489:36 V3
2285testdata/Builtins.lc 489:39-489:52 Type
1805testdata/Builtins.lc 489:39-489:44 'Nat -> Type->Type 2286testdata/Builtins.lc 489:39-489:44 'Nat -> Type->Type
1806testdata/Builtins.lc 489:35-489:68 'Nat 2287testdata/Builtins.lc 489:45-489:46 'Nat
1807testdata/Builtins.lc 489:35-489:68 V1 2288testdata/Builtins.lc 489:45-489:46 V1
1808testdata/Builtins.lc 489:47-489:52 Type 2289testdata/Builtins.lc 489:47-489:52 Type
2290testdata/Builtins.lc 489:57-489:68 Type
2291testdata/Builtins.lc 489:57-489:58 Type
2292testdata/Builtins.lc 489:62-489:68 Type
2293testdata/Builtins.lc 489:62-489:63 Type
2294testdata/Builtins.lc 489:67-489:68 Type
1809testdata/Builtins.lc 489:1-489:9 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a->a 2295testdata/Builtins.lc 489:1-489:9 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a->a
1810testdata/Builtins.lc 490:35-490:76 Type 2296testdata/Builtins.lc 490:35-490:76 Type
1811testdata/Builtins.lc 490:35-490:76 V3 2297testdata/Builtins.lc 490:35-490:36 Type
2298testdata/Builtins.lc 490:35-490:36 V3
2299testdata/Builtins.lc 490:39-490:56 Type
1812testdata/Builtins.lc 490:39-490:48 'Nat -> Type->Type 2300testdata/Builtins.lc 490:39-490:48 'Nat -> Type->Type
1813testdata/Builtins.lc 490:35-490:76 'Nat 2301testdata/Builtins.lc 490:49-490:50 'Nat
1814testdata/Builtins.lc 490:35-490:76 V1 2302testdata/Builtins.lc 490:49-490:50 V1
1815testdata/Builtins.lc 490:51-490:56 Type 2303testdata/Builtins.lc 490:51-490:56 Type
2304testdata/Builtins.lc 490:61-490:76 Type
1816testdata/Builtins.lc 490:61-490:66 Type 2305testdata/Builtins.lc 490:61-490:66 Type
2306testdata/Builtins.lc 490:70-490:76 Type
2307testdata/Builtins.lc 490:70-490:71 Type
2308testdata/Builtins.lc 490:75-490:76 Type
1817testdata/Builtins.lc 490:1-490:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> a->a 2309testdata/Builtins.lc 490:1-490:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> a->a
1818testdata/Builtins.lc 491:35-491:73 Type 2310testdata/Builtins.lc 491:35-491:73 Type
1819testdata/Builtins.lc 491:35-491:73 V3 2311testdata/Builtins.lc 491:35-491:36 Type
2312testdata/Builtins.lc 491:35-491:36 V3
2313testdata/Builtins.lc 491:39-491:52 Type
1820testdata/Builtins.lc 491:39-491:44 'Nat -> Type->Type 2314testdata/Builtins.lc 491:39-491:44 'Nat -> Type->Type
1821testdata/Builtins.lc 491:35-491:73 'Nat 2315testdata/Builtins.lc 491:45-491:46 'Nat
1822testdata/Builtins.lc 491:35-491:73 V1 2316testdata/Builtins.lc 491:45-491:46 V1
1823testdata/Builtins.lc 491:47-491:52 Type 2317testdata/Builtins.lc 491:47-491:52 Type
2318testdata/Builtins.lc 491:57-491:73 Type
2319testdata/Builtins.lc 491:57-491:58 Type
2320testdata/Builtins.lc 491:62-491:73 Type
2321testdata/Builtins.lc 491:62-491:63 Type
2322testdata/Builtins.lc 491:67-491:73 Type
2323testdata/Builtins.lc 491:67-491:68 Type
2324testdata/Builtins.lc 491:72-491:73 Type
1824testdata/Builtins.lc 491:1-491:15 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a -> a->a 2325testdata/Builtins.lc 491:1-491:15 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a -> a->a
1825testdata/Builtins.lc 492:35-492:85 Type 2326testdata/Builtins.lc 492:35-492:85 Type
1826testdata/Builtins.lc 492:35-492:85 V3 2327testdata/Builtins.lc 492:35-492:36 Type
2328testdata/Builtins.lc 492:35-492:36 V3
2329testdata/Builtins.lc 492:39-492:56 Type
1827testdata/Builtins.lc 492:39-492:48 'Nat -> Type->Type 2330testdata/Builtins.lc 492:39-492:48 'Nat -> Type->Type
1828testdata/Builtins.lc 492:35-492:85 'Nat 2331testdata/Builtins.lc 492:49-492:50 'Nat
1829testdata/Builtins.lc 492:35-492:85 V1 2332testdata/Builtins.lc 492:49-492:50 V1
1830testdata/Builtins.lc 492:51-492:56 Type 2333testdata/Builtins.lc 492:51-492:56 Type
2334testdata/Builtins.lc 492:61-492:85 Type
1831testdata/Builtins.lc 492:61-492:66 Type 2335testdata/Builtins.lc 492:61-492:66 Type
2336testdata/Builtins.lc 492:70-492:85 Type
1832testdata/Builtins.lc 492:70-492:75 Type 2337testdata/Builtins.lc 492:70-492:75 Type
2338testdata/Builtins.lc 492:79-492:85 Type
2339testdata/Builtins.lc 492:79-492:80 Type
2340testdata/Builtins.lc 492:84-492:85 Type
1833testdata/Builtins.lc 492:1-492:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a 2341testdata/Builtins.lc 492:1-492:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a
1834testdata/Builtins.lc 495:34-495:70 Type 2342testdata/Builtins.lc 495:34-495:70 Type
1835testdata/Builtins.lc 495:34-495:43 'Nat -> Type->Type 2343testdata/Builtins.lc 495:34-495:43 'Nat -> Type->Type
1836testdata/Builtins.lc 495:34-495:70 'Nat 2344testdata/Builtins.lc 495:44-495:45 'Nat
1837testdata/Builtins.lc 495:34-495:70 V1 2345testdata/Builtins.lc 495:44-495:45 V1
1838testdata/Builtins.lc 495:46-495:51 Type 2346testdata/Builtins.lc 495:46-495:51 Type
2347testdata/Builtins.lc 495:55-495:70 Type
1839testdata/Builtins.lc 495:55-495:64 'Nat -> Type->Type 2348testdata/Builtins.lc 495:55-495:64 'Nat -> Type->Type
2349testdata/Builtins.lc 495:65-495:66 'Nat
1840testdata/Builtins.lc 495:67-495:70 Type 2350testdata/Builtins.lc 495:67-495:70 Type
1841testdata/Builtins.lc 495:1-495:19 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int 2351testdata/Builtins.lc 495:1-495:19 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int
1842testdata/Builtins.lc 496:34-496:71 Type 2352testdata/Builtins.lc 496:34-496:71 Type
1843testdata/Builtins.lc 496:34-496:43 'Nat -> Type->Type 2353testdata/Builtins.lc 496:34-496:43 'Nat -> Type->Type
1844testdata/Builtins.lc 496:34-496:71 'Nat 2354testdata/Builtins.lc 496:44-496:45 'Nat
1845testdata/Builtins.lc 496:34-496:71 V1 2355testdata/Builtins.lc 496:44-496:45 V1
1846testdata/Builtins.lc 496:46-496:51 Type 2356testdata/Builtins.lc 496:46-496:51 Type
2357testdata/Builtins.lc 496:55-496:71 Type
1847testdata/Builtins.lc 496:55-496:64 'Nat -> Type->Type 2358testdata/Builtins.lc 496:55-496:64 'Nat -> Type->Type
2359testdata/Builtins.lc 496:65-496:66 'Nat
1848testdata/Builtins.lc 496:67-496:71 Type 2360testdata/Builtins.lc 496:67-496:71 Type
1849testdata/Builtins.lc 496:1-496:20 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word 2361testdata/Builtins.lc 496:1-496:20 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word
1850testdata/Builtins.lc 497:34-497:72 Type 2362testdata/Builtins.lc 497:34-497:72 Type
1851testdata/Builtins.lc 497:34-497:43 'Nat -> Type->Type 2363testdata/Builtins.lc 497:34-497:43 'Nat -> Type->Type
1852testdata/Builtins.lc 497:34-497:72 'Nat 2364testdata/Builtins.lc 497:44-497:45 'Nat
1853testdata/Builtins.lc 497:34-497:72 V1 2365testdata/Builtins.lc 497:44-497:45 V1
1854testdata/Builtins.lc 497:46-497:49 Type 2366testdata/Builtins.lc 497:46-497:49 Type
2367testdata/Builtins.lc 497:55-497:72 Type
1855testdata/Builtins.lc 497:55-497:64 'Nat -> Type->Type 2368testdata/Builtins.lc 497:55-497:64 'Nat -> Type->Type
2369testdata/Builtins.lc 497:65-497:66 'Nat
1856testdata/Builtins.lc 497:67-497:72 Type 2370testdata/Builtins.lc 497:67-497:72 Type
1857testdata/Builtins.lc 497:1-497:19 {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float 2371testdata/Builtins.lc 497:1-497:19 {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float
1858testdata/Builtins.lc 498:34-498:72 Type 2372testdata/Builtins.lc 498:34-498:72 Type
1859testdata/Builtins.lc 498:34-498:43 'Nat -> Type->Type 2373testdata/Builtins.lc 498:34-498:43 'Nat -> Type->Type
1860testdata/Builtins.lc 498:34-498:72 'Nat 2374testdata/Builtins.lc 498:44-498:45 'Nat
1861testdata/Builtins.lc 498:34-498:72 V1 2375testdata/Builtins.lc 498:44-498:45 V1
1862testdata/Builtins.lc 498:46-498:50 Type 2376testdata/Builtins.lc 498:46-498:50 Type
2377testdata/Builtins.lc 498:55-498:72 Type
1863testdata/Builtins.lc 498:55-498:64 'Nat -> Type->Type 2378testdata/Builtins.lc 498:55-498:64 'Nat -> Type->Type
2379testdata/Builtins.lc 498:65-498:66 'Nat
1864testdata/Builtins.lc 498:67-498:72 Type 2380testdata/Builtins.lc 498:67-498:72 Type
1865testdata/Builtins.lc 498:1-498:20 {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float 2381testdata/Builtins.lc 498:1-498:20 {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float
1866testdata/Builtins.lc 500:35-500:71 Type 2382testdata/Builtins.lc 500:35-500:71 Type
1867testdata/Builtins.lc 500:35-500:71 V3 2383testdata/Builtins.lc 500:35-500:36 Type
2384testdata/Builtins.lc 500:35-500:36 V3
2385testdata/Builtins.lc 500:39-500:56 Type
1868testdata/Builtins.lc 500:39-500:48 'Nat -> Type->Type 2386testdata/Builtins.lc 500:39-500:48 'Nat -> Type->Type
1869testdata/Builtins.lc 500:35-500:71 'Nat 2387testdata/Builtins.lc 500:49-500:50 'Nat
1870testdata/Builtins.lc 500:35-500:71 V1 2388testdata/Builtins.lc 500:49-500:50 V1
1871testdata/Builtins.lc 500:51-500:56 Type 2389testdata/Builtins.lc 500:51-500:56 Type
2390testdata/Builtins.lc 500:61-500:71 Type
2391testdata/Builtins.lc 500:61-500:62 Type
1872testdata/Builtins.lc 500:66-500:71 Type 2392testdata/Builtins.lc 500:66-500:71 Type
1873testdata/Builtins.lc 500:1-500:11 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->'Float 2393testdata/Builtins.lc 500:1-500:11 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->'Float
1874testdata/Builtins.lc 501:35-501:76 Type 2394testdata/Builtins.lc 501:35-501:76 Type
1875testdata/Builtins.lc 501:35-501:76 V3 2395testdata/Builtins.lc 501:35-501:36 Type
2396testdata/Builtins.lc 501:35-501:36 V3
2397testdata/Builtins.lc 501:39-501:56 Type
1876testdata/Builtins.lc 501:39-501:48 'Nat -> Type->Type 2398testdata/Builtins.lc 501:39-501:48 'Nat -> Type->Type
1877testdata/Builtins.lc 501:35-501:76 'Nat 2399testdata/Builtins.lc 501:49-501:50 'Nat
1878testdata/Builtins.lc 501:35-501:76 V1 2400testdata/Builtins.lc 501:49-501:50 V1
1879testdata/Builtins.lc 501:51-501:56 Type 2401testdata/Builtins.lc 501:51-501:56 Type
2402testdata/Builtins.lc 501:61-501:76 Type
2403testdata/Builtins.lc 501:61-501:62 Type
2404testdata/Builtins.lc 501:66-501:76 Type
2405testdata/Builtins.lc 501:66-501:67 Type
1880testdata/Builtins.lc 501:71-501:76 Type 2406testdata/Builtins.lc 501:71-501:76 Type
1881testdata/Builtins.lc 501:1-501:13 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float 2407testdata/Builtins.lc 501:1-501:13 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float
1882testdata/Builtins.lc 501:15-501:22 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float 2408testdata/Builtins.lc 501:15-501:22 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float
1883testdata/Builtins.lc 502:35-502:72 Type 2409testdata/Builtins.lc 502:35-502:72 Type
1884testdata/Builtins.lc 502:35-502:72 V1 2410testdata/Builtins.lc 502:35-502:36 Type
2411testdata/Builtins.lc 502:35-502:36 V1
1885testdata/Builtins.lc 502:39-502:56 Type 2412testdata/Builtins.lc 502:39-502:56 Type
1886testdata/Builtins.lc 502:39-502:48 'Nat -> Type->Type 2413testdata/Builtins.lc 502:39-502:48 'Nat -> Type->Type
1887testdata/Builtins.lc 502:51-502:56 Type 2414testdata/Builtins.lc 502:51-502:56 Type
2415testdata/Builtins.lc 502:61-502:72 Type
2416testdata/Builtins.lc 502:61-502:62 Type
2417testdata/Builtins.lc 502:66-502:72 Type
2418testdata/Builtins.lc 502:66-502:67 Type
2419testdata/Builtins.lc 502:71-502:72 Type
1888testdata/Builtins.lc 502:1-502:10 {a} -> {b : a ~ 'VecS 'Float (Succ (Succ (Succ Zero)))} -> a -> a->a 2420testdata/Builtins.lc 502:1-502:10 {a} -> {b : a ~ 'VecS 'Float (Succ (Succ (Succ Zero)))} -> a -> a->a
1889testdata/Builtins.lc 503:35-503:67 Type 2421testdata/Builtins.lc 503:35-503:67 Type
1890testdata/Builtins.lc 503:35-503:67 V3 2422testdata/Builtins.lc 503:35-503:36 Type
2423testdata/Builtins.lc 503:35-503:36 V3
2424testdata/Builtins.lc 503:39-503:56 Type
1891testdata/Builtins.lc 503:39-503:48 'Nat -> Type->Type 2425testdata/Builtins.lc 503:39-503:48 'Nat -> Type->Type
1892testdata/Builtins.lc 503:35-503:67 'Nat 2426testdata/Builtins.lc 503:49-503:50 'Nat
1893testdata/Builtins.lc 503:35-503:67 V1 2427testdata/Builtins.lc 503:49-503:50 V1
1894testdata/Builtins.lc 503:51-503:56 Type 2428testdata/Builtins.lc 503:51-503:56 Type
2429testdata/Builtins.lc 503:61-503:67 Type
2430testdata/Builtins.lc 503:61-503:62 Type
2431testdata/Builtins.lc 503:66-503:67 Type
1895testdata/Builtins.lc 503:1-503:14 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2432testdata/Builtins.lc 503:1-503:14 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1896testdata/Builtins.lc 504:35-504:77 Type 2433testdata/Builtins.lc 504:35-504:77 Type
1897testdata/Builtins.lc 504:35-504:77 V3 2434testdata/Builtins.lc 504:35-504:36 Type
2435testdata/Builtins.lc 504:35-504:36 V3
2436testdata/Builtins.lc 504:39-504:56 Type
1898testdata/Builtins.lc 504:39-504:48 'Nat -> Type->Type 2437testdata/Builtins.lc 504:39-504:48 'Nat -> Type->Type
1899testdata/Builtins.lc 504:35-504:77 'Nat 2438testdata/Builtins.lc 504:49-504:50 'Nat
1900testdata/Builtins.lc 504:35-504:77 V1 2439testdata/Builtins.lc 504:49-504:50 V1
1901testdata/Builtins.lc 504:51-504:56 Type 2440testdata/Builtins.lc 504:51-504:56 Type
2441testdata/Builtins.lc 504:61-504:77 Type
2442testdata/Builtins.lc 504:61-504:62 Type
2443testdata/Builtins.lc 504:66-504:77 Type
2444testdata/Builtins.lc 504:66-504:67 Type
2445testdata/Builtins.lc 504:71-504:77 Type
2446testdata/Builtins.lc 504:71-504:72 Type
2447testdata/Builtins.lc 504:76-504:77 Type
1902testdata/Builtins.lc 504:1-504:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a 2448testdata/Builtins.lc 504:1-504:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a
1903testdata/Builtins.lc 504:18-504:29 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a 2449testdata/Builtins.lc 504:18-504:29 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a
1904testdata/Builtins.lc 505:35-505:72 Type 2450testdata/Builtins.lc 505:35-505:72 Type
1905testdata/Builtins.lc 505:35-505:72 V3 2451testdata/Builtins.lc 505:35-505:36 Type
2452testdata/Builtins.lc 505:35-505:36 V3
2453testdata/Builtins.lc 505:39-505:56 Type
1906testdata/Builtins.lc 505:39-505:48 'Nat -> Type->Type 2454testdata/Builtins.lc 505:39-505:48 'Nat -> Type->Type
1907testdata/Builtins.lc 505:35-505:72 'Nat 2455testdata/Builtins.lc 505:49-505:50 'Nat
1908testdata/Builtins.lc 505:35-505:72 V1 2456testdata/Builtins.lc 505:49-505:50 V1
1909testdata/Builtins.lc 505:51-505:56 Type 2457testdata/Builtins.lc 505:51-505:56 Type
2458testdata/Builtins.lc 505:61-505:72 Type
2459testdata/Builtins.lc 505:61-505:62 Type
2460testdata/Builtins.lc 505:66-505:72 Type
2461testdata/Builtins.lc 505:66-505:67 Type
2462testdata/Builtins.lc 505:71-505:72 Type
1910testdata/Builtins.lc 505:1-505:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a 2463testdata/Builtins.lc 505:1-505:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a
1911testdata/Builtins.lc 507:34-507:56 Type 2464testdata/Builtins.lc 507:34-507:56 Type
1912testdata/Builtins.lc 507:34-507:37 'Nat -> 'Nat -> Type->Type 2465testdata/Builtins.lc 507:34-507:37 'Nat -> 'Nat -> Type->Type
1913testdata/Builtins.lc 507:34-507:56 'Nat 2466testdata/Builtins.lc 507:38-507:39 'Nat
1914testdata/Builtins.lc 507:34-507:56 V5 2467testdata/Builtins.lc 507:38-507:39 V5
1915testdata/Builtins.lc 507:34-507:56 V3 2468testdata/Builtins.lc 507:40-507:41 'Nat
1916testdata/Builtins.lc 507:34-507:56 V1 2469testdata/Builtins.lc 507:40-507:41 V3
2470testdata/Builtins.lc 507:42-507:43 Type
2471testdata/Builtins.lc 507:42-507:43 V1
2472testdata/Builtins.lc 507:47-507:56 Type
1917testdata/Builtins.lc 507:47-507:50 'Nat -> 'Nat -> Type->Type 2473testdata/Builtins.lc 507:47-507:50 'Nat -> 'Nat -> Type->Type
2474testdata/Builtins.lc 507:51-507:52 'Nat
2475testdata/Builtins.lc 507:53-507:54 'Nat
2476testdata/Builtins.lc 507:55-507:56 Type
1918testdata/Builtins.lc 507:1-507:14 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Mat b a c 2477testdata/Builtins.lc 507:1-507:14 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Mat b a c
1919testdata/Builtins.lc 508:34-508:52 Type 2478testdata/Builtins.lc 508:34-508:52 Type
1920testdata/Builtins.lc 508:34-508:37 'Nat -> 'Nat -> Type->Type 2479testdata/Builtins.lc 508:34-508:37 'Nat -> 'Nat -> Type->Type
1921testdata/Builtins.lc 508:34-508:52 'Nat 2480testdata/Builtins.lc 508:38-508:39 'Nat
1922testdata/Builtins.lc 508:34-508:52 V3 2481testdata/Builtins.lc 508:38-508:39 V3
1923testdata/Builtins.lc 508:34-508:52 V1 2482testdata/Builtins.lc 508:40-508:41 'Nat
2483testdata/Builtins.lc 508:42-508:43 Type
2484testdata/Builtins.lc 508:42-508:43 V1
1924testdata/Builtins.lc 508:47-508:52 Type 2485testdata/Builtins.lc 508:47-508:52 Type
1925testdata/Builtins.lc 508:1-508:16 {a:'Nat} -> {b} -> 'Mat a a b -> 'Float 2486testdata/Builtins.lc 508:1-508:16 {a:'Nat} -> {b} -> 'Mat a a b -> 'Float
1926testdata/Builtins.lc 509:34-509:56 Type 2487testdata/Builtins.lc 509:34-509:56 Type
1927testdata/Builtins.lc 509:34-509:37 'Nat -> 'Nat -> Type->Type 2488testdata/Builtins.lc 509:34-509:37 'Nat -> 'Nat -> Type->Type
1928testdata/Builtins.lc 509:34-509:56 'Nat 2489testdata/Builtins.lc 509:38-509:39 'Nat
1929testdata/Builtins.lc 509:34-509:56 V3 2490testdata/Builtins.lc 509:38-509:39 V3
1930testdata/Builtins.lc 509:34-509:56 V1 2491testdata/Builtins.lc 509:40-509:41 'Nat
2492testdata/Builtins.lc 509:42-509:43 Type
2493testdata/Builtins.lc 509:42-509:43 V1
2494testdata/Builtins.lc 509:47-509:56 Type
1931testdata/Builtins.lc 509:47-509:50 'Nat -> 'Nat -> Type->Type 2495testdata/Builtins.lc 509:47-509:50 'Nat -> 'Nat -> Type->Type
2496testdata/Builtins.lc 509:51-509:52 'Nat
2497testdata/Builtins.lc 509:53-509:54 'Nat
2498testdata/Builtins.lc 509:55-509:56 Type
1932testdata/Builtins.lc 509:1-509:12 {a:'Nat} -> {b} -> 'Mat a a b -> 'Mat a a b 2499testdata/Builtins.lc 509:1-509:12 {a:'Nat} -> {b} -> 'Mat a a b -> 'Mat a a b
1933testdata/Builtins.lc 510:34-510:69 Type 2500testdata/Builtins.lc 510:34-510:69 Type
1934testdata/Builtins.lc 510:34-510:37 'Nat -> Type->Type 2501testdata/Builtins.lc 510:34-510:37 'Nat -> Type->Type
1935testdata/Builtins.lc 510:34-510:69 'Nat 2502testdata/Builtins.lc 510:38-510:39 'Nat
1936testdata/Builtins.lc 510:34-510:69 V5 2503testdata/Builtins.lc 510:38-510:39 V5
1937testdata/Builtins.lc 510:34-510:69 V3 2504testdata/Builtins.lc 510:40-510:41 Type
2505testdata/Builtins.lc 510:40-510:41 V3
2506testdata/Builtins.lc 510:47-510:69 Type
1938testdata/Builtins.lc 510:47-510:50 'Nat -> Type->Type 2507testdata/Builtins.lc 510:47-510:50 'Nat -> Type->Type
1939testdata/Builtins.lc 510:34-510:69 V2 2508testdata/Builtins.lc 510:51-510:52 'Nat
2509testdata/Builtins.lc 510:51-510:52 V2
2510testdata/Builtins.lc 510:53-510:54 Type
2511testdata/Builtins.lc 510:60-510:69 Type
1940testdata/Builtins.lc 510:60-510:63 'Nat -> 'Nat -> Type->Type 2512testdata/Builtins.lc 510:60-510:63 'Nat -> 'Nat -> Type->Type
2513testdata/Builtins.lc 510:64-510:65 'Nat
2514testdata/Builtins.lc 510:66-510:67 'Nat
2515testdata/Builtins.lc 510:68-510:69 Type
1941testdata/Builtins.lc 510:1-510:17 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'VecS b c -> 'Mat c a b 2516testdata/Builtins.lc 510:1-510:17 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'VecS b c -> 'Mat c a b
1942testdata/Builtins.lc 511:34-511:67 Type 2517testdata/Builtins.lc 511:34-511:67 Type
1943testdata/Builtins.lc 511:34-511:37 'Nat -> 'Nat -> Type->Type 2518testdata/Builtins.lc 511:34-511:37 'Nat -> 'Nat -> Type->Type
1944testdata/Builtins.lc 511:34-511:67 'Nat 2519testdata/Builtins.lc 511:38-511:39 'Nat
1945testdata/Builtins.lc 511:34-511:67 V5 2520testdata/Builtins.lc 511:38-511:39 V5
1946testdata/Builtins.lc 511:34-511:67 V3 2521testdata/Builtins.lc 511:40-511:41 'Nat
1947testdata/Builtins.lc 511:34-511:67 V1 2522testdata/Builtins.lc 511:40-511:41 V3
2523testdata/Builtins.lc 511:42-511:43 Type
2524testdata/Builtins.lc 511:42-511:43 V1
2525testdata/Builtins.lc 511:47-511:67 Type
1948testdata/Builtins.lc 511:47-511:50 'Nat -> Type->Type 2526testdata/Builtins.lc 511:47-511:50 'Nat -> Type->Type
2527testdata/Builtins.lc 511:51-511:52 'Nat
2528testdata/Builtins.lc 511:53-511:54 Type
2529testdata/Builtins.lc 511:60-511:67 Type
1949testdata/Builtins.lc 511:60-511:63 'Nat -> Type->Type 2530testdata/Builtins.lc 511:60-511:63 'Nat -> Type->Type
2531testdata/Builtins.lc 511:64-511:65 'Nat
2532testdata/Builtins.lc 511:66-511:67 Type
1950testdata/Builtins.lc 511:1-511:14 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'VecS c b -> 'VecS c a 2533testdata/Builtins.lc 511:1-511:14 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'VecS c b -> 'VecS c a
1951testdata/Builtins.lc 512:34-512:67 Type 2534testdata/Builtins.lc 512:34-512:67 Type
1952testdata/Builtins.lc 512:34-512:37 'Nat -> Type->Type 2535testdata/Builtins.lc 512:34-512:37 'Nat -> Type->Type
1953testdata/Builtins.lc 512:34-512:67 'Nat 2536testdata/Builtins.lc 512:38-512:39 'Nat
1954testdata/Builtins.lc 512:34-512:67 V5 2537testdata/Builtins.lc 512:38-512:39 V5
1955testdata/Builtins.lc 512:34-512:67 V3 2538testdata/Builtins.lc 512:40-512:41 Type
2539testdata/Builtins.lc 512:40-512:41 V3
2540testdata/Builtins.lc 512:47-512:67 Type
1956testdata/Builtins.lc 512:47-512:50 'Nat -> 'Nat -> Type->Type 2541testdata/Builtins.lc 512:47-512:50 'Nat -> 'Nat -> Type->Type
1957testdata/Builtins.lc 512:34-512:67 V2 2542testdata/Builtins.lc 512:51-512:52 'Nat
2543testdata/Builtins.lc 512:53-512:54 'Nat
2544testdata/Builtins.lc 512:53-512:54 V2
2545testdata/Builtins.lc 512:55-512:56 Type
2546testdata/Builtins.lc 512:60-512:67 Type
1958testdata/Builtins.lc 512:60-512:63 'Nat -> Type->Type 2547testdata/Builtins.lc 512:60-512:63 'Nat -> Type->Type
2548testdata/Builtins.lc 512:64-512:65 'Nat
2549testdata/Builtins.lc 512:66-512:67 Type
1959testdata/Builtins.lc 512:1-512:14 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'Mat a c b -> 'VecS b c 2550testdata/Builtins.lc 512:1-512:14 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'Mat a c b -> 'VecS b c
1960testdata/Builtins.lc 513:34-513:69 Type 2551testdata/Builtins.lc 513:34-513:69 Type
1961testdata/Builtins.lc 513:34-513:37 'Nat -> 'Nat -> Type->Type 2552testdata/Builtins.lc 513:34-513:37 'Nat -> 'Nat -> Type->Type
1962testdata/Builtins.lc 513:34-513:69 'Nat 2553testdata/Builtins.lc 513:38-513:39 'Nat
1963testdata/Builtins.lc 513:34-513:69 V7 2554testdata/Builtins.lc 513:38-513:39 V7
1964testdata/Builtins.lc 513:34-513:69 V5 2555testdata/Builtins.lc 513:40-513:41 'Nat
1965testdata/Builtins.lc 513:34-513:69 V3 2556testdata/Builtins.lc 513:40-513:41 V5
2557testdata/Builtins.lc 513:42-513:43 Type
2558testdata/Builtins.lc 513:42-513:43 V3
2559testdata/Builtins.lc 513:47-513:69 Type
1966testdata/Builtins.lc 513:47-513:50 'Nat -> 'Nat -> Type->Type 2560testdata/Builtins.lc 513:47-513:50 'Nat -> 'Nat -> Type->Type
1967testdata/Builtins.lc 513:34-513:69 V2 2561testdata/Builtins.lc 513:51-513:52 'Nat
2562testdata/Builtins.lc 513:53-513:54 'Nat
2563testdata/Builtins.lc 513:53-513:54 V2
2564testdata/Builtins.lc 513:55-513:56 Type
2565testdata/Builtins.lc 513:60-513:69 Type
1968testdata/Builtins.lc 513:60-513:63 'Nat -> 'Nat -> Type->Type 2566testdata/Builtins.lc 513:60-513:63 'Nat -> 'Nat -> Type->Type
2567testdata/Builtins.lc 513:64-513:65 'Nat
2568testdata/Builtins.lc 513:66-513:67 'Nat
2569testdata/Builtins.lc 513:68-513:69 Type
1969testdata/Builtins.lc 513:1-513:14 {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c 2570testdata/Builtins.lc 513:1-513:14 {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c
1970testdata/Builtins.lc 516:35-516:97 Type 2571testdata/Builtins.lc 516:35-516:97 Type
1971testdata/Builtins.lc 516:35-516:38 Type->Type 2572testdata/Builtins.lc 516:35-516:38 Type->Type
1972testdata/Builtins.lc 516:35-516:97 V7 2573testdata/Builtins.lc 516:39-516:40 Type
1973testdata/Builtins.lc 516:35-516:97 V6 2574testdata/Builtins.lc 516:39-516:40 V7
2575testdata/Builtins.lc 516:42-516:97 Type
2576testdata/Builtins.lc 516:42-516:43 Type
2577testdata/Builtins.lc 516:42-516:43 V6
2578testdata/Builtins.lc 516:46-516:59 Type
1974testdata/Builtins.lc 516:46-516:55 'Nat -> Type->Type 2579testdata/Builtins.lc 516:46-516:55 'Nat -> Type->Type
1975testdata/Builtins.lc 516:35-516:97 'Nat 2580testdata/Builtins.lc 516:56-516:57 'Nat
1976testdata/Builtins.lc 516:35-516:97 V4 2581testdata/Builtins.lc 516:56-516:57 V4
1977testdata/Builtins.lc 516:35-516:97 V3 2582testdata/Builtins.lc 516:58-516:59 Type
2583testdata/Builtins.lc 516:61-516:97 Type
2584testdata/Builtins.lc 516:61-516:62 Type
2585testdata/Builtins.lc 516:61-516:62 V3
2586testdata/Builtins.lc 516:65-516:81 Type
1978testdata/Builtins.lc 516:65-516:74 'Nat -> Type->Type 2587testdata/Builtins.lc 516:65-516:74 'Nat -> Type->Type
2588testdata/Builtins.lc 516:75-516:76 'Nat
1979testdata/Builtins.lc 516:77-516:81 Type 2589testdata/Builtins.lc 516:77-516:81 Type
2590testdata/Builtins.lc 516:86-516:97 Type
2591testdata/Builtins.lc 516:86-516:87 Type
2592testdata/Builtins.lc 516:91-516:97 Type
2593testdata/Builtins.lc 516:91-516:92 Type
2594testdata/Builtins.lc 516:96-516:97 Type
1980testdata/Builtins.lc 515:1-515:13 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 2595testdata/Builtins.lc 515:1-515:13 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
1981testdata/Builtins.lc 515:15-515:32 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 2596testdata/Builtins.lc 515:15-515:32 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
1982testdata/Builtins.lc 515:34-515:49 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 2597testdata/Builtins.lc 515:34-515:49 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
@@ -1984,32 +2599,44 @@ testdata/Builtins.lc 515:51-515:71 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a
1984testdata/Builtins.lc 515:73-515:83 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 2599testdata/Builtins.lc 515:73-515:83 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
1985testdata/Builtins.lc 515:85-515:98 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 2600testdata/Builtins.lc 515:85-515:98 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
1986testdata/Builtins.lc 517:35-517:76 Type 2601testdata/Builtins.lc 517:35-517:76 Type
1987testdata/Builtins.lc 517:35-517:76 V3 2602testdata/Builtins.lc 517:35-517:36 Type
2603testdata/Builtins.lc 517:35-517:36 V3
2604testdata/Builtins.lc 517:39-517:57 Type
1988testdata/Builtins.lc 517:39-517:55 Type->Type 2605testdata/Builtins.lc 517:39-517:55 Type->Type
1989testdata/Builtins.lc 517:35-517:76 V1 2606testdata/Builtins.lc 517:56-517:57 Type
2607testdata/Builtins.lc 517:56-517:57 V1
2608testdata/Builtins.lc 517:62-517:76 Type
2609testdata/Builtins.lc 517:62-517:63 Type
2610testdata/Builtins.lc 517:67-517:76 Type
2611testdata/Builtins.lc 517:67-517:68 Type
1990testdata/Builtins.lc 517:72-517:76 Type 2612testdata/Builtins.lc 517:72-517:76 Type
1991testdata/Builtins.lc 517:1-517:10 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool 2613testdata/Builtins.lc 517:1-517:10 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool
1992testdata/Builtins.lc 517:12-517:24 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool 2614testdata/Builtins.lc 517:12-517:24 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool
1993testdata/Builtins.lc 520:35-520:67 Type 2615testdata/Builtins.lc 520:35-520:67 Type
1994testdata/Builtins.lc 520:35-520:67 V3 2616testdata/Builtins.lc 520:35-520:36 Type
2617testdata/Builtins.lc 520:35-520:36 V3
2618testdata/Builtins.lc 520:39-520:56 Type
1995testdata/Builtins.lc 520:39-520:48 'Nat -> Type->Type 2619testdata/Builtins.lc 520:39-520:48 'Nat -> Type->Type
1996testdata/Builtins.lc 520:35-520:67 'Nat 2620testdata/Builtins.lc 520:49-520:50 'Nat
1997testdata/Builtins.lc 520:35-520:67 V1 2621testdata/Builtins.lc 520:49-520:50 V1
1998testdata/Builtins.lc 520:51-520:56 Type 2622testdata/Builtins.lc 520:51-520:56 Type
2623testdata/Builtins.lc 520:61-520:67 Type
2624testdata/Builtins.lc 520:61-520:62 Type
2625testdata/Builtins.lc 520:66-520:67 Type
1999testdata/Builtins.lc 519:1-519:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2626testdata/Builtins.lc 519:1-519:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
2000testdata/Builtins.lc 519:11-519:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2627testdata/Builtins.lc 519:11-519:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
2001testdata/Builtins.lc 519:21-519:31 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 2628testdata/Builtins.lc 519:21-519:31 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
2002testdata/Builtins.lc 522:34-522:60 Type 2629testdata/Builtins.lc 522:34-522:60 Type
2003testdata/Builtins.lc 522:34-522:43 'Nat -> Type->Type 2630testdata/Builtins.lc 522:34-522:43 'Nat -> Type->Type
2004testdata/Builtins.lc 522:34-522:60 'Nat 2631testdata/Builtins.lc 522:44-522:45 'Nat
2005testdata/Builtins.lc 522:34-522:60 V1 2632testdata/Builtins.lc 522:44-522:45 V1
2006testdata/Builtins.lc 522:46-522:51 Type 2633testdata/Builtins.lc 522:46-522:51 Type
2007testdata/Builtins.lc 522:55-522:60 Type 2634testdata/Builtins.lc 522:55-522:60 Type
2008testdata/Builtins.lc 522:1-522:11 {a:'Nat} -> 'VecScalar a 'Float -> 'Float 2635testdata/Builtins.lc 522:1-522:11 {a:'Nat} -> 'VecScalar a 'Float -> 'Float
2009testdata/Builtins.lc 523:34-523:66 Type 2636testdata/Builtins.lc 523:34-523:66 Type
2010testdata/Builtins.lc 523:34-523:43 'Nat -> Type->Type 2637testdata/Builtins.lc 523:34-523:43 'Nat -> Type->Type
2011testdata/Builtins.lc 523:34-523:66 'Nat 2638testdata/Builtins.lc 523:44-523:45 'Nat
2012testdata/Builtins.lc 523:34-523:66 V1 2639testdata/Builtins.lc 523:44-523:45 V1
2013testdata/Builtins.lc 523:46-523:51 Type 2640testdata/Builtins.lc 523:46-523:51 Type
2014testdata/Builtins.lc 523:55-523:66 Type 2641testdata/Builtins.lc 523:55-523:66 Type
2015testdata/Builtins.lc 523:55-523:58 'Nat -> Type->Type 2642testdata/Builtins.lc 523:55-523:58 'Nat -> Type->Type
@@ -2017,8 +2644,8 @@ testdata/Builtins.lc 523:61-523:66 Type
2017testdata/Builtins.lc 523:1-523:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ Zero)) 2644testdata/Builtins.lc 523:1-523:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ Zero))
2018testdata/Builtins.lc 524:34-524:66 Type 2645testdata/Builtins.lc 524:34-524:66 Type
2019testdata/Builtins.lc 524:34-524:43 'Nat -> Type->Type 2646testdata/Builtins.lc 524:34-524:43 'Nat -> Type->Type
2020testdata/Builtins.lc 524:34-524:66 'Nat 2647testdata/Builtins.lc 524:44-524:45 'Nat
2021testdata/Builtins.lc 524:34-524:66 V1 2648testdata/Builtins.lc 524:44-524:45 V1
2022testdata/Builtins.lc 524:46-524:51 Type 2649testdata/Builtins.lc 524:46-524:51 Type
2023testdata/Builtins.lc 524:55-524:66 Type 2650testdata/Builtins.lc 524:55-524:66 Type
2024testdata/Builtins.lc 524:55-524:58 'Nat -> Type->Type 2651testdata/Builtins.lc 524:55-524:58 'Nat -> Type->Type
@@ -2026,8 +2653,8 @@ testdata/Builtins.lc 524:61-524:66 Type
2026testdata/Builtins.lc 524:1-524:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ Zero))) 2653testdata/Builtins.lc 524:1-524:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ Zero)))
2027testdata/Builtins.lc 525:34-525:66 Type 2654testdata/Builtins.lc 525:34-525:66 Type
2028testdata/Builtins.lc 525:34-525:43 'Nat -> Type->Type 2655testdata/Builtins.lc 525:34-525:43 'Nat -> Type->Type
2029testdata/Builtins.lc 525:34-525:66 'Nat 2656testdata/Builtins.lc 525:44-525:45 'Nat
2030testdata/Builtins.lc 525:34-525:66 V1 2657testdata/Builtins.lc 525:44-525:45 V1
2031testdata/Builtins.lc 525:46-525:51 Type 2658testdata/Builtins.lc 525:46-525:51 Type
2032testdata/Builtins.lc 525:55-525:66 Type 2659testdata/Builtins.lc 525:55-525:66 Type
2033testdata/Builtins.lc 525:55-525:58 'Nat -> Type->Type 2660testdata/Builtins.lc 525:55-525:58 'Nat -> Type->Type
@@ -2070,22 +2697,42 @@ testdata/Builtins.lc 561:40-561:43 'Nat -> Type->Type
2070testdata/Builtins.lc 561:46-561:51 Type 2697testdata/Builtins.lc 561:46-561:51 Type
2071testdata/Builtins.lc 561:1-561:10 'Sampler -> 'VecS 'Float (Succ (Succ Zero)) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 2698testdata/Builtins.lc 561:1-561:10 'Sampler -> 'VecS 'Float (Succ (Succ Zero)) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
2072testdata/Builtins.lc 564:30-564:45 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b 2699testdata/Builtins.lc 564:30-564:45 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b
2073testdata/Builtins.lc 564:47-564:66 V1 -> 'Stream V1 2700testdata/Builtins.lc 564:47-564:74 V1 -> 'Stream V1
2074testdata/Builtins.lc 564:47-564:57 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a) 2701testdata/Builtins.lc 564:47-564:57 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a)
2075testdata/Builtins.lc 564:59-564:66 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType V1) -> 'Float 2702testdata/Builtins.lc 564:59-564:66 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType V1) -> 'Float
2076testdata/Builtins.lc 564:65-564:66 'Float 2703testdata/Builtins.lc 564:65-564:66 'Float
2077testdata/Builtins.lc 564:65-564:66 'Int 2704testdata/Builtins.lc 564:65-564:66 'Int
2705testdata/Builtins.lc 564:68-564:70 V1
2706testdata/Builtins.lc 564:68-564:70 V5
2707testdata/Builtins.lc 564:71-564:74 'RasterContext V0
2708testdata/Builtins.lc 564:71-564:74 V4
2078testdata/Builtins.lc 564:1-564:20 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) ('InterpolatedType a)) 2709testdata/Builtins.lc 564:1-564:20 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) ('InterpolatedType a))
2079testdata/Builtins.lc 565:46-565:61 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b 2710testdata/Builtins.lc 565:46-565:61 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b
2080testdata/Builtins.lc 565:63-565:73 V1 -> 'Stream V1 2711testdata/Builtins.lc 565:63-565:83 V1 -> 'Stream V1
2081testdata/Builtins.lc 565:63-565:73 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a) 2712testdata/Builtins.lc 565:63-565:73 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a)
2713testdata/Builtins.lc 565:74-565:76 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType V1) -> 'Float
2714testdata/Builtins.lc 565:74-565:76 V7
2715testdata/Builtins.lc 565:77-565:79 V1
2716testdata/Builtins.lc 565:77-565:79 V5
2717testdata/Builtins.lc 565:80-565:83 'RasterContext V0
2718testdata/Builtins.lc 565:80-565:83 V5
2082testdata/Builtins.lc 565:1-565:33 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a) -> 'Float) -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) ('InterpolatedType a)) 2719testdata/Builtins.lc 565:1-565:33 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a) -> 'Float) -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) ('InterpolatedType a))
2083testdata/Builtins.lc 566:24-566:32 {a} -> {b} -> a -> b -> 'Tuple2 a b 2720testdata/Builtins.lc 566:24-566:32 {a} -> {b} -> a -> b -> 'Tuple2 a b
2721testdata/Builtins.lc 566:25-566:28 V1
2722testdata/Builtins.lc 566:25-566:28 V5
2723testdata/Builtins.lc 566:30-566:31 V0
2724testdata/Builtins.lc 566:30-566:31 V2
2084testdata/Builtins.lc 566:1-566:15 {a} -> {b} -> a -> b -> 'Tuple2 a b 2725testdata/Builtins.lc 566:1-566:15 {a} -> {b} -> a -> b -> 'Tuple2 a b
2085testdata/Builtins.lc 567:25-567:35 V2 -> V2->V2 2726testdata/Builtins.lc 567:25-567:46 V2 -> V2->V2
2086testdata/Builtins.lc 567:25-567:35 V2->V2 2727testdata/Builtins.lc 567:25-567:46 V2->V2
2087testdata/Builtins.lc 567:25-567:35 V2 2728testdata/Builtins.lc 567:25-567:46 V2
2088testdata/Builtins.lc 567:25-567:35 {a:'Nat} -> {b} -> 'FragOps' b -> 'Stream ('Fragment a ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b 2729testdata/Builtins.lc 567:25-567:35 {a:'Nat} -> {b} -> 'FragOps' b -> 'Stream ('Fragment a ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b
2730testdata/Builtins.lc 567:36-567:39 'FragOps' V0
2731testdata/Builtins.lc 567:36-567:39 V6
2732testdata/Builtins.lc 567:40-567:43 'Stream ('Fragment V1 ('RemSemantics V0))
2733testdata/Builtins.lc 567:40-567:43 V5
2734testdata/Builtins.lc 567:44-567:46 'FrameBuffer V1 V0
2735testdata/Builtins.lc 567:44-567:46 V7
2089testdata/Builtins.lc 567:13-567:21 'Tuple2 ('FragOps' V0) ('Stream ('Fragment V1 ('RemSemantics V0))) 2736testdata/Builtins.lc 567:13-567:21 'Tuple2 ('FragOps' V0) ('Stream ('Fragment V1 ('RemSemantics V0)))
2090testdata/Builtins.lc 567:13-567:21 V3 2737testdata/Builtins.lc 567:13-567:21 V3
2091testdata/Builtins.lc 567:1-567:8 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Tuple2 ('FragOps' b) ('Stream ('Fragment a ('RemSemantics b))) -> 'FrameBuffer a b 2738testdata/Builtins.lc 567:1-567:8 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Tuple2 ('FragOps' b) ('Stream ('Fragment a ('RemSemantics b))) -> 'FrameBuffer a b
diff --git a/testdata/Internals.out b/testdata/Internals.out
index 5f6cd3ab..06279002 100644
--- a/testdata/Internals.out
+++ b/testdata/Internals.out
@@ -137,12 +137,19 @@ testdata/Internals.lc 57:33-57:36 Type
137testdata/Internals.lc 57:1-57:10 'Float->'Int 137testdata/Internals.lc 57:1-57:10 'Float->'Int
138testdata/Internals.lc 60:19-60:38 Type 138testdata/Internals.lc 60:19-60:38 Type
139testdata/Internals.lc 60:19-60:23 Type 139testdata/Internals.lc 60:19-60:23 Type
140testdata/Internals.lc 60:19-60:38 V2 140testdata/Internals.lc 60:27-60:38 Type
141testdata/Internals.lc 61:16-61:20 {a} -> 'Bool -> a -> a->a 141testdata/Internals.lc 60:27-60:28 V2
142testdata/Internals.lc 61:16-61:20 'Bool -> V1 -> V2->V3 142testdata/Internals.lc 60:32-60:38 Type
143testdata/Internals.lc 61:16-61:20 V1 -> V2->V3 143testdata/Internals.lc 60:32-60:33 Type
144testdata/Internals.lc 61:16-61:20 V2->V3 144testdata/Internals.lc 60:37-60:38 Type
145testdata/Internals.lc 61:16-61:20 V3 145testdata/Internals.lc 61:16-62:29 {a} -> 'Bool -> a -> a->a
146testdata/Internals.lc 61:16-62:29 'Bool -> V1 -> V2->V3
147testdata/Internals.lc 61:16-62:29 V1 -> V2->V3
148testdata/Internals.lc 61:16-62:29 V2->V3
149testdata/Internals.lc 61:16-62:29 V3
150testdata/Internals.lc 62:28-62:29 V0
151testdata/Internals.lc 62:28-62:29 V4
152testdata/Internals.lc 61:28-61:29 V3
146testdata/Internals.lc 61:16-61:20 'Bool 153testdata/Internals.lc 61:16-61:20 'Bool
147testdata/Internals.lc 61:1-61:15 {a} -> 'Bool -> a -> a->a 154testdata/Internals.lc 61:1-61:15 {a} -> 'Bool -> a -> a->a
148testdata/Internals.lc 70:10-78:19 Type->Type 155testdata/Internals.lc 70:10-78:19 Type->Type
diff --git a/testdata/Prelude.out b/testdata/Prelude.out
index 1bd76ab0..ed18d218 100644
--- a/testdata/Prelude.out
+++ b/testdata/Prelude.out
@@ -1,8 +1,11 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/Prelude.lc 16:13-16:14 V3
3testdata/Prelude.lc 16:1-16:6 {a} -> {b} -> a -> b->a 4testdata/Prelude.lc 16:1-16:6 {a} -> {b} -> a -> b->a
4testdata/Prelude.lc 18:13-18:17 'Bool 5testdata/Prelude.lc 18:13-18:17 'Bool
5testdata/Prelude.lc 18:1-18:10 'Bool 6testdata/Prelude.lc 18:1-18:10 'Bool
7testdata/Prelude.lc 20:9-20:10 V1
8testdata/Prelude.lc 20:11-20:12 V6
6testdata/Prelude.lc 20:3-20:4 {a} -> {b} -> a -> a->b -> b 9testdata/Prelude.lc 20:3-20:4 {a} -> {b} -> a -> a->b -> b
7testdata/Prelude.lc 22:15-22:16 V3 10testdata/Prelude.lc 22:15-22:16 V3
8testdata/Prelude.lc 22:17-22:18 V4 11testdata/Prelude.lc 22:17-22:18 V4
@@ -11,6 +14,12 @@ testdata/Prelude.lc 23:17-23:18 V5
11testdata/Prelude.lc 23:20-23:21 V6 14testdata/Prelude.lc 23:20-23:21 V6
12testdata/Prelude.lc 23:22-23:23 V7 15testdata/Prelude.lc 23:22-23:23 V7
13testdata/Prelude.lc 23:1-23:4 {a} -> {b} -> {c} -> b->c -> a->b -> a->c 16testdata/Prelude.lc 23:1-23:4 {a} -> {b} -> {c} -> b->c -> a->b -> a->c
17testdata/Prelude.lc 25:20-25:25 V2 -> V2->V2
18testdata/Prelude.lc 25:20-25:25 V2->V2
19testdata/Prelude.lc 25:20-25:25 V2
20testdata/Prelude.lc 25:20-25:21 V8
21testdata/Prelude.lc 25:22-25:23 V7
22testdata/Prelude.lc 25:24-25:25 V7
14testdata/Prelude.lc 25:12-25:16 'Tuple2 V2 V1 23testdata/Prelude.lc 25:12-25:16 'Tuple2 V2 V1
15testdata/Prelude.lc 25:12-25:16 V4 24testdata/Prelude.lc 25:12-25:16 V4
16testdata/Prelude.lc 25:1-25:8 {a} -> {b} -> {c} -> (a -> b->c) -> 'Tuple2 a b -> c 25testdata/Prelude.lc 25:1-25:8 {a} -> {b} -> {c} -> (a -> b->c) -> 'Tuple2 a b -> c
@@ -18,37 +27,67 @@ testdata/Prelude.lc 27:20-27:30 V2 -> V2->V2
18testdata/Prelude.lc 27:20-27:30 V2->V2 27testdata/Prelude.lc 27:20-27:30 V2->V2
19testdata/Prelude.lc 27:20-27:30 V2 28testdata/Prelude.lc 27:20-27:30 V2
20testdata/Prelude.lc 27:20-27:30 {a} -> {b} -> a -> b -> 'Tuple2 a b 29testdata/Prelude.lc 27:20-27:30 {a} -> {b} -> a -> b -> 'Tuple2 a b
30testdata/Prelude.lc 27:21-27:24 V1
31testdata/Prelude.lc 27:21-27:22 V12
32testdata/Prelude.lc 27:23-27:24 V9
33testdata/Prelude.lc 27:26-27:29 V0
34testdata/Prelude.lc 27:26-27:27 V9
35testdata/Prelude.lc 27:28-27:29 V7
21testdata/Prelude.lc 27:12-27:16 'Tuple2 V3 V2 36testdata/Prelude.lc 27:12-27:16 'Tuple2 V3 V2
22testdata/Prelude.lc 27:12-27:16 V5 37testdata/Prelude.lc 27:12-27:16 V5
23testdata/Prelude.lc 27:1-27:6 {a} -> {b} -> {c} -> {d} -> a->c -> b->d -> 'Tuple2 a b -> 'Tuple2 c d 38testdata/Prelude.lc 27:1-27:6 {a} -> {b} -> {c} -> {d} -> a->c -> b->d -> 'Tuple2 a b -> 'Tuple2 c d
24testdata/Prelude.lc 29:6-29:10 'Float 39testdata/Prelude.lc 29:6-29:10 'Float
25testdata/Prelude.lc 29:1-29:3 'Float 40testdata/Prelude.lc 29:1-29:3 'Float
26testdata/Prelude.lc 32:1-32:4 {a} -> a->a -> a 41testdata/Prelude.lc 32:1-32:4 {a} -> a->a -> a
27testdata/Prelude.lc 31:8-34:28 V0->V1 42testdata/Prelude.lc 31:8-34:39 V0->V1
28testdata/Prelude.lc 31:8-34:28 V1 43testdata/Prelude.lc 31:8-34:39 V1
29testdata/Prelude.lc 31:8-31:29 Type 44testdata/Prelude.lc 31:8-31:29 Type
30testdata/Prelude.lc 31:8-31:29 V3 45testdata/Prelude.lc 31:9-31:10 Type
31testdata/Prelude.lc 31:8-31:29 V2 46testdata/Prelude.lc 31:9-31:10 V3
47testdata/Prelude.lc 31:15-31:29 Type
48testdata/Prelude.lc 31:16-31:17 Type
49testdata/Prelude.lc 31:16-31:17 V2
50testdata/Prelude.lc 31:22-31:29 Type
51testdata/Prelude.lc 31:23-31:28 Type
32testdata/Prelude.lc 31:23-31:28 Type -> Type->Type 52testdata/Prelude.lc 31:23-31:28 Type -> Type->Type
33testdata/Prelude.lc 34:23-34:28 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b) 53testdata/Prelude.lc 31:24-31:25 Type
34testdata/Prelude.lc 34:23-34:28 {a} -> 'List V1 -> 'List a -> 'List ('Tuple2 V3 a) 54testdata/Prelude.lc 31:26-31:27 Type
35testdata/Prelude.lc 34:23-34:28 'List V1 -> 'List V1 -> 'List ('Tuple2 V3 V2) 55testdata/Prelude.lc 34:23-34:39 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b)
36testdata/Prelude.lc 34:23-34:28 'List V1 -> 'List ('Tuple2 V3 V2) 56testdata/Prelude.lc 34:23-34:39 {a} -> 'List V1 -> 'List a -> 'List ('Tuple2 V3 a)
37testdata/Prelude.lc 34:23-34:28 'List ('Tuple2 V3 V2) 57testdata/Prelude.lc 34:23-34:39 'List V1 -> 'List V1 -> 'List ('Tuple2 V3 V2)
38testdata/Prelude.lc 34:23-34:28 V1 -> 'List V2 -> 'List V2 58testdata/Prelude.lc 34:23-34:39 'List V1 -> 'List ('Tuple2 V3 V2)
39testdata/Prelude.lc 34:23-34:28 'List V2 -> 'List V2 59testdata/Prelude.lc 34:23-34:39 'List ('Tuple2 V3 V2)
40testdata/Prelude.lc 34:23-34:28 'List V2 60testdata/Prelude.lc 34:23-34:39 V1 -> 'List V2 -> 'List V2
61testdata/Prelude.lc 34:23-34:39 'List V2 -> 'List V2
62testdata/Prelude.lc 34:23-34:39 'List V2
41testdata/Prelude.lc 34:23-34:28 V0 63testdata/Prelude.lc 34:23-34:28 V0
42testdata/Prelude.lc 34:23-34:28 {a} -> {b} -> a -> b -> 'Tuple2 a b 64testdata/Prelude.lc 34:23-34:28 {a} -> {b} -> a -> b -> 'Tuple2 a b
65testdata/Prelude.lc 34:24-34:25 V1
66testdata/Prelude.lc 34:24-34:25 V10
67testdata/Prelude.lc 34:26-34:27 V0
68testdata/Prelude.lc 34:26-34:27 V4
69testdata/Prelude.lc 34:30-34:39 'List ('Tuple2 V6 V2)
70testdata/Prelude.lc 34:30-34:33 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b)
71testdata/Prelude.lc 34:34-34:36 'List V1
72testdata/Prelude.lc 34:34-34:36 'List V8
73testdata/Prelude.lc 34:37-34:39 'List V2
43testdata/Prelude.lc 32:1-32:4 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b) 74testdata/Prelude.lc 32:1-32:4 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b)
44testdata/Prelude.lc 37:1-37:6 {a} -> a->a -> a 75testdata/Prelude.lc 37:1-37:6 {a} -> a->a -> a
45testdata/Prelude.lc 36:10-39:27 V0->V1 76testdata/Prelude.lc 36:10-39:27 V0->V1
46testdata/Prelude.lc 36:10-39:27 V1 77testdata/Prelude.lc 36:10-39:27 V1
47testdata/Prelude.lc 36:10-36:30 Type 78testdata/Prelude.lc 36:10-36:30 Type
79testdata/Prelude.lc 36:11-36:16 Type
48testdata/Prelude.lc 36:11-36:16 Type -> Type->Type 80testdata/Prelude.lc 36:11-36:16 Type -> Type->Type
49testdata/Prelude.lc 36:10-36:30 V3 81testdata/Prelude.lc 36:12-36:13 Type
50testdata/Prelude.lc 36:10-36:30 V1 82testdata/Prelude.lc 36:12-36:13 V3
83testdata/Prelude.lc 36:14-36:15 Type
84testdata/Prelude.lc 36:14-36:15 V1
85testdata/Prelude.lc 36:21-36:30 Type
51testdata/Prelude.lc 36:21-36:30 Type -> Type->Type 86testdata/Prelude.lc 36:21-36:30 Type -> Type->Type
87testdata/Prelude.lc 36:22-36:25 Type
88testdata/Prelude.lc 36:23-36:24 Type
89testdata/Prelude.lc 36:26-36:29 Type
90testdata/Prelude.lc 36:27-36:28 Type
52testdata/Prelude.lc 37:12-39:27 {a} -> {b} -> 'List ('Tuple2 a b) -> 'Tuple2 ('List a) ('List b) 91testdata/Prelude.lc 37:12-39:27 {a} -> {b} -> 'List ('Tuple2 a b) -> 'Tuple2 ('List a) ('List b)
53testdata/Prelude.lc 37:12-39:27 {a} -> 'List ('Tuple2 V1 a) -> 'Tuple2 ('List V2) ('List a) 92testdata/Prelude.lc 37:12-39:27 {a} -> 'List ('Tuple2 V1 a) -> 'Tuple2 ('List V2) ('List a)
54testdata/Prelude.lc 37:12-39:27 'List ('Tuple2 V1 V0) -> 'Tuple2 ('List V2) ('List V1) 93testdata/Prelude.lc 37:12-39:27 'List ('Tuple2 V1 V0) -> 'Tuple2 ('List V2) ('List V1)
@@ -65,11 +104,16 @@ testdata/Prelude.lc 38:20-38:31 V2 -> V2->V2
65testdata/Prelude.lc 38:20-38:31 V2->V2 104testdata/Prelude.lc 38:20-38:31 V2->V2
66testdata/Prelude.lc 38:20-38:31 V2 105testdata/Prelude.lc 38:20-38:31 V2
67testdata/Prelude.lc 38:20-38:31 {a} -> {b} -> a -> b -> 'Tuple2 a b 106testdata/Prelude.lc 38:20-38:31 {a} -> {b} -> a -> b -> 'Tuple2 a b
68testdata/Prelude.lc 38:20-38:31 V1 107testdata/Prelude.lc 38:21-38:25 V1
69testdata/Prelude.lc 38:20-38:31 'List V12 108testdata/Prelude.lc 38:21-38:22 V0
70testdata/Prelude.lc 38:20-38:31 V5 109testdata/Prelude.lc 38:21-38:22 V14
71testdata/Prelude.lc 38:20-38:31 V0 110testdata/Prelude.lc 38:23-38:25 'List V12
72testdata/Prelude.lc 38:20-38:31 'List V8 111testdata/Prelude.lc 38:23-38:25 V5
112testdata/Prelude.lc 38:26-38:30 V0
113testdata/Prelude.lc 38:26-38:27 V0
114testdata/Prelude.lc 38:26-38:27 V10
115testdata/Prelude.lc 38:28-38:30 'List V8
116testdata/Prelude.lc 38:28-38:30 V2
73testdata/Prelude.lc 39:10-39:15 'Tuple2 ('List V6) ('List V5) 117testdata/Prelude.lc 39:10-39:15 'Tuple2 ('List V6) ('List V5)
74testdata/Prelude.lc 39:10-39:15 V1 118testdata/Prelude.lc 39:10-39:15 V1
75testdata/Prelude.lc 39:19-39:27 'Tuple2 ('List V3) ('List V2) 119testdata/Prelude.lc 39:19-39:27 'Tuple2 ('List V3) ('List V2)
@@ -78,58 +122,145 @@ testdata/Prelude.lc 39:25-39:27 'List ('Tuple2 V1 V0)
78testdata/Prelude.lc 39:25-39:27 'List V10 122testdata/Prelude.lc 39:25-39:27 'List V10
79testdata/Prelude.lc 37:1-37:6 {a} -> {b} -> 'List ('Tuple2 a b) -> 'Tuple2 ('List a) ('List b) 123testdata/Prelude.lc 37:1-37:6 {a} -> {b} -> 'List ('Tuple2 a b) -> 'Tuple2 ('List a) ('List b)
80testdata/Prelude.lc 41:1-41:7 {a} -> a->a -> a 124testdata/Prelude.lc 41:1-41:7 {a} -> a->a -> a
81testdata/Prelude.lc 43:24-43:28 V0->V1 125testdata/Prelude.lc 42:27-44:48 V0->V1
82testdata/Prelude.lc 43:24-43:28 V1 126testdata/Prelude.lc 42:27-44:48 V1
83testdata/Prelude.lc 43:24-43:28 V1 -> 'List V2 -> 'List V2 127testdata/Prelude.lc 42:27-44:48 V1 -> 'List V2 -> 'List V2
84testdata/Prelude.lc 43:24-43:28 'List V2 -> 'List V2 128testdata/Prelude.lc 42:27-44:48 'List V2 -> 'List V2
85testdata/Prelude.lc 43:24-43:28 'List V2 129testdata/Prelude.lc 42:27-44:48 'List V2
130testdata/Prelude.lc 44:34-44:48 V0
131testdata/Prelude.lc 44:34-44:40 V12
132testdata/Prelude.lc 44:41-44:45 V13
133testdata/Prelude.lc 44:46-44:48 'List V10
134testdata/Prelude.lc 43:33-43:51 V0
135testdata/Prelude.lc 43:33-43:34 V0
136testdata/Prelude.lc 43:33-43:34 V7
137testdata/Prelude.lc 43:37-43:51 'List V5
138testdata/Prelude.lc 43:37-43:43 V9 -> 'List V6 -> 'List V7
139testdata/Prelude.lc 43:44-43:48 V9
140testdata/Prelude.lc 43:49-43:51 'List V5
86testdata/Prelude.lc 43:24-43:28 'Bool 141testdata/Prelude.lc 43:24-43:28 'Bool
142testdata/Prelude.lc 43:24-43:28 V1
143testdata/Prelude.lc 42:27-42:33 'Bool
144testdata/Prelude.lc 42:27-42:31 V6
145testdata/Prelude.lc 42:32-42:33 V5
87testdata/Prelude.lc 41:1-41:7 {a} -> a->'Bool -> 'List a -> 'List a 146testdata/Prelude.lc 41:1-41:7 {a} -> a->'Bool -> 'List a -> 'List a
88testdata/Prelude.lc 46:9-46:17 Type 147testdata/Prelude.lc 46:9-46:17 Type
89testdata/Prelude.lc 46:9-46:17 V1 148testdata/Prelude.lc 46:10-46:11 Type
90testdata/Prelude.lc 47:7-47:11 {a} -> 'List a -> a 149testdata/Prelude.lc 46:10-46:11 V1
91testdata/Prelude.lc 47:7-47:11 'List V0 -> V1 150testdata/Prelude.lc 46:16-46:17 Type
92testdata/Prelude.lc 47:7-47:11 V1 151testdata/Prelude.lc 47:7-47:16 {a} -> 'List a -> a
152testdata/Prelude.lc 47:7-47:16 'List V0 -> V1
153testdata/Prelude.lc 47:7-47:16 V1
154testdata/Prelude.lc 47:15-47:16 V1 -> 'List V2 -> V2
155testdata/Prelude.lc 47:15-47:16 'List V2 -> V2
156testdata/Prelude.lc 47:15-47:16 V2
157testdata/Prelude.lc 47:15-47:16 V3
93testdata/Prelude.lc 47:7-47:11 'List V1 158testdata/Prelude.lc 47:7-47:11 'List V1
94testdata/Prelude.lc 47:1-47:5 {a} -> 'List a -> a 159testdata/Prelude.lc 47:1-47:5 {a} -> 'List a -> a
95testdata/Prelude.lc 49:9-49:19 Type 160testdata/Prelude.lc 49:9-49:19 Type
96testdata/Prelude.lc 49:9-49:19 V1 161testdata/Prelude.lc 49:10-49:11 Type
97testdata/Prelude.lc 50:7-50:12 {a} -> 'List a -> 'List a 162testdata/Prelude.lc 49:10-49:11 V1
98testdata/Prelude.lc 50:7-50:12 'List V0 -> 'List V1 163testdata/Prelude.lc 49:16-49:19 Type
164testdata/Prelude.lc 49:17-49:18 Type
165testdata/Prelude.lc 50:7-50:18 {a} -> 'List a -> 'List a
166testdata/Prelude.lc 50:7-50:18 'List V0 -> 'List V1
167testdata/Prelude.lc 50:7-50:18 'List V1
168testdata/Prelude.lc 50:16-50:18 V1 -> 'List V2 -> V2
169testdata/Prelude.lc 50:16-50:18 'List V2 -> V2
170testdata/Prelude.lc 50:16-50:18 V2
171testdata/Prelude.lc 50:16-50:18 'List V3
99testdata/Prelude.lc 50:7-50:12 'List V1 172testdata/Prelude.lc 50:7-50:12 'List V1
100testdata/Prelude.lc 50:1-50:5 {a} -> 'List a -> 'List a 173testdata/Prelude.lc 50:1-50:5 {a} -> 'List a -> 'List a
101testdata/Prelude.lc 52:10-52:25 Type 174testdata/Prelude.lc 52:10-52:25 Type
102testdata/Prelude.lc 52:10-52:25 V1 175testdata/Prelude.lc 52:11-52:12 Type
176testdata/Prelude.lc 52:11-52:12 V1
177testdata/Prelude.lc 52:17-52:25 Type
178testdata/Prelude.lc 52:18-52:24 Type
103testdata/Prelude.lc 52:18-52:24 Type -> Type->Type 179testdata/Prelude.lc 52:18-52:24 Type -> Type->Type
104testdata/Prelude.lc 53:11-53:22 {a} -> 'List a -> 'List ('Tuple2 a a) 180testdata/Prelude.lc 52:19-52:20 Type
105testdata/Prelude.lc 53:11-53:22 'List V0 -> 'List ('Tuple2 V1 V1) 181testdata/Prelude.lc 52:22-52:23 Type
106testdata/Prelude.lc 53:11-53:22 'List ('Tuple2 V1 V1) 182testdata/Prelude.lc 53:11-53:24 {a} -> 'List a -> 'List ('Tuple2 a a)
183testdata/Prelude.lc 53:11-53:24 'List V0 -> 'List ('Tuple2 V1 V1)
184testdata/Prelude.lc 53:11-53:24 'List ('Tuple2 V1 V1)
107testdata/Prelude.lc 53:11-53:14 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b) 185testdata/Prelude.lc 53:11-53:14 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b)
108testdata/Prelude.lc 53:18-53:22 'List V1 186testdata/Prelude.lc 53:15-53:16 'List V1
187testdata/Prelude.lc 53:15-53:16 'List V3
188testdata/Prelude.lc 53:18-53:24 'List V1
109testdata/Prelude.lc 53:18-53:22 {a} -> 'List a -> 'List a 189testdata/Prelude.lc 53:18-53:22 {a} -> 'List a -> 'List a
190testdata/Prelude.lc 53:23-53:24 'List V0
191testdata/Prelude.lc 53:23-53:24 'List V2
110testdata/Prelude.lc 53:1-53:6 {a} -> 'List a -> 'List ('Tuple2 a a) 192testdata/Prelude.lc 53:1-53:6 {a} -> 'List a -> 'List ('Tuple2 a a)
111testdata/Prelude.lc 55:1-55:7 {a} -> a->a -> a 193testdata/Prelude.lc 55:1-55:7 {a} -> a->a -> a
194testdata/Prelude.lc 55:17-56:41 V0->V1
195testdata/Prelude.lc 55:17-56:41 V1
196testdata/Prelude.lc 55:17-55:18 V0
197testdata/Prelude.lc 55:17-55:18 V5
198testdata/Prelude.lc 56:22-56:41 V0 -> 'List V1 -> V6
199testdata/Prelude.lc 56:22-56:41 'List V1 -> V6
200testdata/Prelude.lc 56:22-56:41 V6
201testdata/Prelude.lc 56:22-56:28 V10
202testdata/Prelude.lc 56:29-56:30 V11
203testdata/Prelude.lc 56:32-56:33 V12
204testdata/Prelude.lc 56:34-56:35 V13
205testdata/Prelude.lc 56:36-56:37 V10
206testdata/Prelude.lc 56:39-56:41 'List V7
112testdata/Prelude.lc 55:1-55:7 {a} -> {b} -> (a -> b->a) -> a -> 'List b -> a 207testdata/Prelude.lc 55:1-55:7 {a} -> {b} -> (a -> b->a) -> a -> 'List b -> a
208testdata/Prelude.lc 58:16-58:17 V0
209testdata/Prelude.lc 58:16-58:17 V2
113testdata/Prelude.lc 58:1-58:10 {a} -> a -> 'List a 210testdata/Prelude.lc 58:1-58:10 {a} -> a -> 'List a
114testdata/Prelude.lc 60:1-60:7 {a} -> a->a -> a 211testdata/Prelude.lc 60:1-60:7 {a} -> a->a -> a
212testdata/Prelude.lc 60:20-61:36 V0->V1
213testdata/Prelude.lc 60:20-61:36 V1
214testdata/Prelude.lc 60:20-60:22 V0
215testdata/Prelude.lc 60:20-60:22 V3
216testdata/Prelude.lc 61:20-61:36 V0 -> 'List V1 -> V4
217testdata/Prelude.lc 61:20-61:36 'List V1 -> V4
218testdata/Prelude.lc 61:20-61:36 V4
219testdata/Prelude.lc 61:20-61:21 V0
220testdata/Prelude.lc 61:20-61:21 V3
221testdata/Prelude.lc 61:24-61:36 'List V2
222testdata/Prelude.lc 61:24-61:30 V7
223testdata/Prelude.lc 61:31-61:33 'List V5
224testdata/Prelude.lc 61:34-61:36 'List V6
115testdata/Prelude.lc 60:1-60:7 {a} -> 'List a -> 'List a -> 'List a 225testdata/Prelude.lc 60:1-60:7 {a} -> 'List a -> 'List a -> 'List a
116testdata/Prelude.lc 63:10-63:16 {a} -> {b} -> (a -> b->a) -> a -> 'List b -> a 226testdata/Prelude.lc 63:10-63:16 {a} -> {b} -> (a -> b->a) -> a -> 'List b -> a
117testdata/Prelude.lc 63:17-63:23 V1 -> V1->V3 227testdata/Prelude.lc 63:17-63:23 V1 -> V1->V3
118testdata/Prelude.lc 63:17-63:23 {a} -> 'List a -> 'List a -> 'List a 228testdata/Prelude.lc 63:17-63:23 {a} -> 'List a -> 'List a -> 'List a
119testdata/Prelude.lc 63:1-63:7 {a} -> 'List ('List a) -> 'List a 229testdata/Prelude.lc 63:1-63:7 {a} -> 'List ('List a) -> 'List a
120testdata/Prelude.lc 65:1-65:4 {a} -> a->a -> a 230testdata/Prelude.lc 65:1-65:4 {a} -> a->a -> a
231testdata/Prelude.lc 66:16-66:30 V0->V1
232testdata/Prelude.lc 66:16-66:30 V1
233testdata/Prelude.lc 66:16-66:30 V1 -> 'List V2 -> 'List V2
234testdata/Prelude.lc 66:16-66:30 'List V2 -> 'List V2
235testdata/Prelude.lc 66:16-66:30 'List V2
236testdata/Prelude.lc 66:16-66:19 V0
237testdata/Prelude.lc 66:16-66:17 V8
238testdata/Prelude.lc 66:18-66:19 V7
239testdata/Prelude.lc 66:22-66:30 'List V2
240testdata/Prelude.lc 66:22-66:25 V8
241testdata/Prelude.lc 66:26-66:27 V6->V6
242testdata/Prelude.lc 66:28-66:30 'List V7
121testdata/Prelude.lc 65:1-65:4 {a} -> {b} -> a->b -> 'List a -> 'List b 243testdata/Prelude.lc 65:1-65:4 {a} -> {b} -> a->b -> 'List a -> 'List b
122testdata/Prelude.lc 68:15-68:38 Type 244testdata/Prelude.lc 68:15-68:38 Type
123testdata/Prelude.lc 68:15-68:38 V3 245testdata/Prelude.lc 68:15-68:16 V3
124testdata/Prelude.lc 68:15-68:38 V2 246testdata/Prelude.lc 68:20-68:23 Type
125testdata/Prelude.lc 69:17-69:28 {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b 247testdata/Prelude.lc 68:21-68:22 Type
126testdata/Prelude.lc 69:17-69:28 {a} -> (V1 -> 'List a) -> 'List V2 -> 'List a 248testdata/Prelude.lc 68:21-68:22 V2
127testdata/Prelude.lc 69:17-69:28 (V1 -> 'List V1) -> 'List V2 -> 'List V2 249testdata/Prelude.lc 68:28-68:38 Type
128testdata/Prelude.lc 69:17-69:28 'List V2 -> 'List V2 250testdata/Prelude.lc 68:29-68:30 Type
129testdata/Prelude.lc 69:17-69:28 'List V2 251testdata/Prelude.lc 68:35-68:38 Type
252testdata/Prelude.lc 68:36-68:37 Type
253testdata/Prelude.lc 69:17-69:32 {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b
254testdata/Prelude.lc 69:17-69:32 {a} -> (V1 -> 'List a) -> 'List V2 -> 'List a
255testdata/Prelude.lc 69:17-69:32 (V1 -> 'List V1) -> 'List V2 -> 'List V2
256testdata/Prelude.lc 69:17-69:32 'List V2 -> 'List V2
257testdata/Prelude.lc 69:17-69:32 'List V2
130testdata/Prelude.lc 69:17-69:23 {a} -> 'List ('List a) -> 'List a 258testdata/Prelude.lc 69:17-69:23 {a} -> 'List ('List a) -> 'List a
131testdata/Prelude.lc 69:25-69:28 'List ('List V0) 259testdata/Prelude.lc 69:25-69:32 'List ('List V0)
132testdata/Prelude.lc 69:25-69:28 {a} -> {b} -> a->b -> 'List a -> 'List b 260testdata/Prelude.lc 69:25-69:28 {a} -> {b} -> a->b -> 'List a -> 'List b
261testdata/Prelude.lc 69:29-69:30 V1->V1
262testdata/Prelude.lc 69:29-69:30 V6 -> 'List V6
263testdata/Prelude.lc 69:31-69:32 'List V3
133testdata/Prelude.lc 69:1-69:10 {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b 264testdata/Prelude.lc 69:1-69:10 {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b
134testdata/Prelude.lc 71:1-71:6 {a} -> a->a -> a 265testdata/Prelude.lc 71:1-71:6 {a} -> a->a -> a
135testdata/Prelude.lc 71:12-72:55 V0->V1 266testdata/Prelude.lc 71:12-72:55 V0->V1
@@ -143,11 +274,13 @@ testdata/Prelude.lc 72:17-72:28 V2 -> V2->V2
143testdata/Prelude.lc 72:17-72:28 V2->V2 274testdata/Prelude.lc 72:17-72:28 V2->V2
144testdata/Prelude.lc 72:17-72:28 V2 275testdata/Prelude.lc 72:17-72:28 V2
145testdata/Prelude.lc 72:17-72:28 {a} -> {b} -> a -> b -> 'Tuple2 a b 276testdata/Prelude.lc 72:17-72:28 {a} -> {b} -> a -> b -> 'Tuple2 a b
146testdata/Prelude.lc 72:17-72:28 V1 277testdata/Prelude.lc 72:18-72:23 V1
147testdata/Prelude.lc 72:17-72:28 'List V12 278testdata/Prelude.lc 72:18-72:19 V0
148testdata/Prelude.lc 72:17-72:28 V4 279testdata/Prelude.lc 72:18-72:19 V14
149testdata/Prelude.lc 72:17-72:28 V0 280testdata/Prelude.lc 72:21-72:23 'List V12
150testdata/Prelude.lc 72:17-72:28 V3 281testdata/Prelude.lc 72:21-72:23 V4
282testdata/Prelude.lc 72:25-72:27 V0
283testdata/Prelude.lc 72:25-72:27 V3
151testdata/Prelude.lc 72:37-72:43 'Tuple2 V0 ('List V7) 284testdata/Prelude.lc 72:37-72:43 'Tuple2 V0 ('List V7)
152testdata/Prelude.lc 72:37-72:43 V2 285testdata/Prelude.lc 72:37-72:43 V2
153testdata/Prelude.lc 72:47-72:55 'Tuple2 ('List V2) ('List V3) 286testdata/Prelude.lc 72:47-72:55 'Tuple2 ('List V2) ('List V3)
@@ -155,42 +288,104 @@ testdata/Prelude.lc 72:47-72:52 V7
155testdata/Prelude.lc 72:53-72:55 'List V6 288testdata/Prelude.lc 72:53-72:55 'List V6
156testdata/Prelude.lc 71:1-71:6 {a} -> 'List a -> 'Tuple2 ('List a) ('List a) 289testdata/Prelude.lc 71:1-71:6 {a} -> 'List a -> 'Tuple2 ('List a) ('List a)
157testdata/Prelude.lc 74:1-74:8 {a} -> a->a -> a 290testdata/Prelude.lc 74:1-74:8 {a} -> a->a -> a
158testdata/Prelude.lc 74:12-75:7 V0->V1 291testdata/Prelude.lc 74:12-78:21 V0->V1
159testdata/Prelude.lc 74:12-75:7 V1 292testdata/Prelude.lc 74:12-78:21 V1
160testdata/Prelude.lc 74:19-75:7 V0 -> 'List V1 -> V4 293testdata/Prelude.lc 77:19-77:21 V0
161testdata/Prelude.lc 74:19-75:7 'List V1 -> V4 294testdata/Prelude.lc 77:19-77:21 V3
162testdata/Prelude.lc 74:19-75:7 V4 295testdata/Prelude.lc 74:19-78:21 V0 -> 'List V1 -> V4
163testdata/Prelude.lc 75:5-75:7 V0 -> 'List V1 -> V9 296testdata/Prelude.lc 74:19-78:21 'List V1 -> V4
164testdata/Prelude.lc 75:5-75:7 'List V1 -> V9 297testdata/Prelude.lc 74:19-78:21 V4
165testdata/Prelude.lc 75:5-75:7 V9 298testdata/Prelude.lc 78:19-78:21 V0
299testdata/Prelude.lc 78:19-78:21 V8
300testdata/Prelude.lc 74:32-76:32 V0 -> 'List V1 -> V9
301testdata/Prelude.lc 74:32-76:32 'List V1 -> V9
302testdata/Prelude.lc 74:32-76:32 V9
303testdata/Prelude.lc 75:11-75:32 V0
304testdata/Prelude.lc 75:11-75:12 V0
305testdata/Prelude.lc 75:11-75:12 V9
306testdata/Prelude.lc 75:14-75:32 'List V7
307testdata/Prelude.lc 75:14-75:21 V15
308testdata/Prelude.lc 75:22-75:23 V16
309testdata/Prelude.lc 75:24-75:26 'List V11
310testdata/Prelude.lc 75:28-75:29 V0
311testdata/Prelude.lc 75:28-75:29 V9
312testdata/Prelude.lc 75:30-75:32 'List V8
313testdata/Prelude.lc 76:10-76:32 'List V7
314testdata/Prelude.lc 76:10-76:11 V0
315testdata/Prelude.lc 76:10-76:11 V5
316testdata/Prelude.lc 76:13-76:32 'List V6
317testdata/Prelude.lc 76:13-76:20 V12 -> 'List V7 -> 'List V8 -> 'List V9
318testdata/Prelude.lc 76:21-76:22 V12
319testdata/Prelude.lc 76:24-76:28 'List V6
320testdata/Prelude.lc 76:24-76:25 V0
321testdata/Prelude.lc 76:24-76:25 V7
322testdata/Prelude.lc 76:26-76:28 'List V6
323testdata/Prelude.lc 76:30-76:32 'List V6
324testdata/Prelude.lc 76:10-76:32 'List V6
325testdata/Prelude.lc 76:10-76:11 V7
166testdata/Prelude.lc 75:5-75:7 'Ordering 326testdata/Prelude.lc 75:5-75:7 'Ordering
167testdata/Prelude.lc 75:5-75:7 V1 327testdata/Prelude.lc 75:5-75:7 V1
328testdata/Prelude.lc 74:32-74:37 'Ordering
329testdata/Prelude.lc 74:32-74:33 V9
330testdata/Prelude.lc 74:34-74:35 V7
331testdata/Prelude.lc 74:36-74:37 V8
168testdata/Prelude.lc 74:19-74:23 'List V2 332testdata/Prelude.lc 74:19-74:23 'List V2
169testdata/Prelude.lc 74:12-74:16 'List V0 333testdata/Prelude.lc 74:12-74:16 'List V0
170testdata/Prelude.lc 74:1-74:8 {a} -> (a -> a->'Ordering) -> 'List a -> 'List a -> 'List a 334testdata/Prelude.lc 74:1-74:8 {a} -> (a -> a->'Ordering) -> 'List a -> 'List a -> 'List a
171testdata/Prelude.lc 80:1-80:7 {a} -> a->a -> a 335testdata/Prelude.lc 80:1-80:7 {a} -> a->a -> a
172testdata/Prelude.lc 81:16-82:66 V0->V1 336testdata/Prelude.lc 81:16-82:69 V0->V1
173testdata/Prelude.lc 81:16-82:66 V1 337testdata/Prelude.lc 81:16-82:69 V1
174testdata/Prelude.lc 81:16-82:66 V1 -> 'List V2 -> 'List V2 338testdata/Prelude.lc 81:16-82:69 V1 -> 'List V2 -> 'List V2
175testdata/Prelude.lc 81:16-82:66 'List V2 -> 'List V2 339testdata/Prelude.lc 81:16-82:69 'List V2 -> 'List V2
176testdata/Prelude.lc 81:16-82:66 'List V2 340testdata/Prelude.lc 81:16-82:69 'List V2
177testdata/Prelude.lc 81:16-81:19 V0 341testdata/Prelude.lc 81:16-81:19 V0
178testdata/Prelude.lc 82:15-82:66 V0 -> 'List V1 -> 'List V6 342testdata/Prelude.lc 81:17-81:18 V0
179testdata/Prelude.lc 82:15-82:66 'List V1 -> 'List V6 343testdata/Prelude.lc 81:17-81:18 V6
180testdata/Prelude.lc 82:15-82:66 'List V6 344testdata/Prelude.lc 82:15-82:69 V0 -> 'List V1 -> 'List V6
345testdata/Prelude.lc 82:15-82:69 'List V1 -> 'List V6
346testdata/Prelude.lc 82:15-82:69 'List V6
181testdata/Prelude.lc 82:15-82:22 {a} -> {b} -> {c} -> (a -> b->c) -> 'Tuple2 a b -> c 347testdata/Prelude.lc 82:15-82:22 {a} -> {b} -> {c} -> (a -> b->c) -> 'Tuple2 a b -> c
182testdata/Prelude.lc 82:24-82:31 V2 -> V2->V2 348testdata/Prelude.lc 82:24-82:33 V2 -> V2->V2
183testdata/Prelude.lc 82:24-82:31 {a} -> (a -> a->'Ordering) -> 'List a -> 'List a -> 'List a 349testdata/Prelude.lc 82:24-82:31 {a} -> (a -> a->'Ordering) -> 'List a -> 'List a -> 'List a
184testdata/Prelude.lc 82:61-82:66 'Tuple2 ('List V6) ('List V6) 350testdata/Prelude.lc 82:32-82:33 V0 -> V1->'Ordering
185testdata/Prelude.lc 82:61-82:66 'Tuple2 V0 V0 351testdata/Prelude.lc 82:32-82:33 V14
352testdata/Prelude.lc 82:37-82:69 'Tuple2 ('List V6) ('List V6)
353testdata/Prelude.lc 82:37-82:45 V3->V2
354testdata/Prelude.lc 82:37-82:43 V15
355testdata/Prelude.lc 82:44-82:45 V13 -> V14->'Ordering
356testdata/Prelude.lc 82:50-82:58 V2->V1
357testdata/Prelude.lc 82:50-82:56 (V10 -> V11->'Ordering) -> V4->V3
358testdata/Prelude.lc 82:57-82:58 V8 -> V9->'Ordering
359testdata/Prelude.lc 82:61-82:69 'Tuple2 V0 V0
186testdata/Prelude.lc 82:61-82:66 {a} -> 'List a -> 'Tuple2 ('List a) ('List a) 360testdata/Prelude.lc 82:61-82:66 {a} -> 'List a -> 'Tuple2 ('List a) ('List a)
361testdata/Prelude.lc 82:67-82:69 'List V0
362testdata/Prelude.lc 82:67-82:69 V10
187testdata/Prelude.lc 80:1-80:7 {a} -> (a -> a->'Ordering) -> 'List a -> 'List a 363testdata/Prelude.lc 80:1-80:7 {a} -> (a -> a->'Ordering) -> 'List a -> 'List a
188testdata/Prelude.lc 84:8-84:14 {a} -> 'List a -> 'List a -> 'List a 364testdata/Prelude.lc 84:8-84:14 {a} -> 'List a -> 'List a -> 'List a
189testdata/Prelude.lc 84:1-84:5 {a} -> 'List a -> 'List a -> 'List a 365testdata/Prelude.lc 84:1-84:5 {a} -> 'List a -> 'List a -> 'List a
190testdata/Prelude.lc 88:1-88:8 {a} -> a->a -> a 366testdata/Prelude.lc 88:1-88:8 {a} -> a->a -> a
191testdata/Prelude.lc 87:13-87:32 V0->V1 367testdata/Prelude.lc 87:13-88:34 V0->V1
192testdata/Prelude.lc 87:13-87:32 V1 368testdata/Prelude.lc 87:13-88:34 V1
193testdata/Prelude.lc 87:13-87:32 Type 369testdata/Prelude.lc 87:13-87:32 Type
370testdata/Prelude.lc 87:13-87:14 V1
371testdata/Prelude.lc 87:18-87:19 Type
372testdata/Prelude.lc 87:24-87:32 Type
373testdata/Prelude.lc 87:24-87:25 Type
374testdata/Prelude.lc 87:29-87:32 Type
375testdata/Prelude.lc 87:30-87:31 Type
376testdata/Prelude.lc 88:16-88:34 {a} -> a->a -> a -> 'List a
377testdata/Prelude.lc 88:16-88:34 V0->V1 -> V1 -> 'List V2
378testdata/Prelude.lc 88:16-88:34 V1 -> 'List V2
379testdata/Prelude.lc 88:16-88:34 'List V2
380testdata/Prelude.lc 88:16-88:17 V0
381testdata/Prelude.lc 88:16-88:17 V3
382testdata/Prelude.lc 88:20-88:34 'List V2
383testdata/Prelude.lc 88:20-88:27 {a} -> a->a -> a -> 'List a
384testdata/Prelude.lc 88:28-88:29 V0->V1
385testdata/Prelude.lc 88:28-88:29 V3->V4
386testdata/Prelude.lc 88:31-88:34 V2
387testdata/Prelude.lc 88:31-88:32 V2->V3
388testdata/Prelude.lc 88:33-88:34 V2
194testdata/Prelude.lc 88:1-88:8 {a} -> a->a -> a -> 'List a 389testdata/Prelude.lc 88:1-88:8 {a} -> a->a -> a -> 'List a
195testdata/Prelude.lc 90:6-90:11 Type->Type 390testdata/Prelude.lc 90:6-90:11 Type->Type
196testdata/Prelude.lc 90:6-90:11 Type 391testdata/Prelude.lc 90:6-90:11 Type
@@ -198,9 +393,17 @@ testdata/Prelude.lc 91:7-91:14 {a} -> 'Maybe a
198testdata/Prelude.lc 90:6-92:13 Type 393testdata/Prelude.lc 90:6-92:13 Type
199testdata/Prelude.lc 92:12-92:13 Type 394testdata/Prelude.lc 92:12-92:13 Type
200testdata/Prelude.lc 92:7-92:11 {a} -> a -> 'Maybe a 395testdata/Prelude.lc 92:7-92:11 {a} -> a -> 'Maybe a
396testdata/Prelude.lc 96:14-96:15 V2 -> V2->V2
397testdata/Prelude.lc 96:14-96:15 V2->V2
398testdata/Prelude.lc 96:14-96:15 V2
399testdata/Prelude.lc 96:14-96:15 V4
201testdata/Prelude.lc 96:6-96:10 'Tuple2 V1 V0 400testdata/Prelude.lc 96:6-96:10 'Tuple2 V1 V0
202testdata/Prelude.lc 96:6-96:10 V3 401testdata/Prelude.lc 96:6-96:10 V3
203testdata/Prelude.lc 96:1-96:4 {a} -> {b} -> 'Tuple2 a b -> a 402testdata/Prelude.lc 96:1-96:4 {a} -> {b} -> 'Tuple2 a b -> a
403testdata/Prelude.lc 97:14-97:15 V2 -> V2->V2
404testdata/Prelude.lc 97:14-97:15 V2->V2
405testdata/Prelude.lc 97:14-97:15 V2
406testdata/Prelude.lc 97:14-97:15 V3
204testdata/Prelude.lc 97:6-97:10 'Tuple2 V1 V0 407testdata/Prelude.lc 97:6-97:10 'Tuple2 V1 V0
205testdata/Prelude.lc 97:6-97:10 V3 408testdata/Prelude.lc 97:6-97:10 V3
206testdata/Prelude.lc 97:1-97:4 {a} -> {b} -> 'Tuple2 a b -> b 409testdata/Prelude.lc 97:1-97:4 {a} -> {b} -> 'Tuple2 a b -> b
@@ -218,6 +421,11 @@ testdata/Prelude.lc 101:19-101:34 V0 -> 'List V1 -> Type
218testdata/Prelude.lc 101:19-101:34 'List V1 -> Type 421testdata/Prelude.lc 101:19-101:34 'List V1 -> Type
219testdata/Prelude.lc 101:19-101:34 Type 422testdata/Prelude.lc 101:19-101:34 Type
220testdata/Prelude.lc 101:19-101:34 Type -> Type->Type 423testdata/Prelude.lc 101:19-101:34 Type -> Type->Type
424testdata/Prelude.lc 101:20-101:21 Type
425testdata/Prelude.lc 101:20-101:21 V2
426testdata/Prelude.lc 101:23-101:33 Type
427testdata/Prelude.lc 101:23-101:30 'List Type -> Type
428testdata/Prelude.lc 101:31-101:33 'List Type
221testdata/Prelude.lc 100:1-100:8 'List Type -> Type 429testdata/Prelude.lc 100:1-100:8 'List Type -> Type
222testdata/Prelude.lc 103:22-103:36 Type 430testdata/Prelude.lc 103:22-103:36 Type
223testdata/Prelude.lc 103:22-103:36 Type -> Type->Type 431testdata/Prelude.lc 103:22-103:36 Type -> Type->Type
@@ -235,8 +443,21 @@ testdata/Prelude.lc 104:36-104:38 'List ('Tuple2 'String Type)
235testdata/Prelude.lc 103:6-103:13 Type 443testdata/Prelude.lc 103:6-103:13 Type
236testdata/Prelude.lc 104:7-104:17 {a : 'List ('Tuple2 'String Type)} -> tuptype (map ('Tuple2 'String Type) Type (\(b : 'Tuple2 'String Type) -> snd 'String Type b) a) -> 'RecordC a 444testdata/Prelude.lc 104:7-104:17 {a : 'List ('Tuple2 'String Type)} -> tuptype (map ('Tuple2 'String Type) Type (\(b : 'Tuple2 'String Type) -> snd 'String Type b) a) -> 'RecordC a
237testdata/Prelude.lc 106:1-106:7 {a} -> a->a -> a 445testdata/Prelude.lc 106:1-106:7 {a} -> a->a -> a
238testdata/Prelude.lc 106:11-106:12 V0->V1 446testdata/Prelude.lc 106:11-107:36 V0->V1
239testdata/Prelude.lc 106:11-106:12 V1 447testdata/Prelude.lc 106:11-107:36 V1
448testdata/Prelude.lc 106:16-107:36 V1 -> 'List V2 -> V2
449testdata/Prelude.lc 106:16-107:36 'List V2 -> V2
450testdata/Prelude.lc 106:16-107:36 V2
451testdata/Prelude.lc 106:16-106:17 V0
452testdata/Prelude.lc 106:16-106:17 V5
453testdata/Prelude.lc 107:20-107:36 V0 -> 'List V1 -> V6
454testdata/Prelude.lc 107:20-107:36 'List V1 -> V6
455testdata/Prelude.lc 107:20-107:36 V6
456testdata/Prelude.lc 107:20-107:21 V10
457testdata/Prelude.lc 107:22-107:23 V9
458testdata/Prelude.lc 107:25-107:31 V15
459testdata/Prelude.lc 107:32-107:33 V13->V7
460testdata/Prelude.lc 107:34-107:36 'List V14
240testdata/Prelude.lc 106:11-106:12 'List V1 461testdata/Prelude.lc 106:11-106:12 'List V1
241testdata/Prelude.lc 106:11-106:12 V3 462testdata/Prelude.lc 106:11-106:12 V3
242testdata/Prelude.lc 106:1-106:7 {a} -> (a -> a->a) -> 'List a -> a 463testdata/Prelude.lc 106:1-106:7 {a} -> (a -> a->a) -> 'List a -> a
@@ -246,6 +467,8 @@ testdata/Prelude.lc 109:11-109:15 'Bool
246testdata/Prelude.lc 109:6-109:8 'Ordering 467testdata/Prelude.lc 109:6-109:8 'Ordering
247testdata/Prelude.lc 109:6-109:8 V1 468testdata/Prelude.lc 109:6-109:8 V1
248testdata/Prelude.lc 109:1-109:5 'Ordering->'Bool 469testdata/Prelude.lc 109:1-109:5 'Ordering->'Bool
470testdata/Prelude.lc 112:15-112:16 V0
471testdata/Prelude.lc 112:15-112:16 V2
249testdata/Prelude.lc 113:14-113:18 V1 472testdata/Prelude.lc 113:14-113:18 V1
250testdata/Prelude.lc 113:14-113:18 'Bool 473testdata/Prelude.lc 113:14-113:18 'Bool
251testdata/Prelude.lc 112:1-112:6 'Bool 474testdata/Prelude.lc 112:1-112:6 'Bool
@@ -253,6 +476,8 @@ testdata/Prelude.lc 112:1-112:6 V2
253testdata/Prelude.lc 112:7-112:10 'Bool -> 'Bool->'Bool 476testdata/Prelude.lc 112:7-112:10 'Bool -> 'Bool->'Bool
254testdata/Prelude.lc 118:15-118:20 V0 477testdata/Prelude.lc 118:15-118:20 V0
255testdata/Prelude.lc 118:15-118:20 'Bool 478testdata/Prelude.lc 118:15-118:20 'Bool
479testdata/Prelude.lc 117:14-117:15 'Bool
480testdata/Prelude.lc 117:14-117:15 V1
256testdata/Prelude.lc 117:1-117:5 'Bool 481testdata/Prelude.lc 117:1-117:5 'Bool
257testdata/Prelude.lc 117:1-117:5 V2 482testdata/Prelude.lc 117:1-117:5 V2
258testdata/Prelude.lc 117:6-117:9 'Bool -> 'Bool->'Bool 483testdata/Prelude.lc 117:6-117:9 'Bool -> 'Bool->'Bool
@@ -267,15 +492,17 @@ testdata/Prelude.lc 123:14-123:15 Type
267testdata/Prelude.lc 123:19-123:28 Type 492testdata/Prelude.lc 123:19-123:28 Type
268testdata/Prelude.lc 123:19-123:20 Type 493testdata/Prelude.lc 123:19-123:20 Type
269testdata/Prelude.lc 123:24-123:28 Type 494testdata/Prelude.lc 123:24-123:28 Type
270testdata/Prelude.lc 127:13-128:38 {a} -> {b : 'Eq a} -> a -> a->'Bool 495testdata/Prelude.lc 127:13-128:42 {a} -> {b : 'Eq a} -> a -> a->'Bool
271testdata/Prelude.lc 127:13-128:38 {a : 'Eq V0} -> V1 -> V2->'Bool 496testdata/Prelude.lc 127:13-128:42 {a : 'Eq V0} -> V1 -> V2->'Bool
272testdata/Prelude.lc 128:15-128:38 {a:'Unit} -> 'String -> 'String->'Bool 497testdata/Prelude.lc 128:15-128:42 {a:'Unit} -> 'String -> 'String->'Bool
273testdata/Prelude.lc 128:15-128:38 'String -> 'String->'Bool 498testdata/Prelude.lc 128:15-128:42 'String -> 'String->'Bool
274testdata/Prelude.lc 128:15-128:38 'String->'Bool 499testdata/Prelude.lc 128:15-128:42 'String->'Bool
275testdata/Prelude.lc 128:15-128:38 'Bool 500testdata/Prelude.lc 128:15-128:42 'Bool
276testdata/Prelude.lc 128:15-128:19 'Ordering->'Bool 501testdata/Prelude.lc 128:15-128:19 'Ordering->'Bool
277testdata/Prelude.lc 128:21-128:38 'Ordering 502testdata/Prelude.lc 128:21-128:42 'Ordering
278testdata/Prelude.lc 128:21-128:38 'String -> 'String->'Ordering 503testdata/Prelude.lc 128:21-128:38 'String -> 'String->'Ordering
504testdata/Prelude.lc 128:39-128:40 'String
505testdata/Prelude.lc 128:41-128:42 'String
279testdata/Prelude.lc 123:5-123:10 {a} -> {b : 'Eq a} -> a -> a->'Bool 506testdata/Prelude.lc 123:5-123:10 {a} -> {b : 'Eq a} -> a -> a->'Bool
280testdata/Prelude.lc 163:30-163:36 Type 507testdata/Prelude.lc 163:30-163:36 Type
281testdata/Prelude.lc 163:30-163:31 V3 508testdata/Prelude.lc 163:30-163:31 V3
@@ -295,10 +522,25 @@ testdata/Prelude.lc 166:29-166:71 V2 -> V2->V2
295testdata/Prelude.lc 166:29-166:71 V2->V2 522testdata/Prelude.lc 166:29-166:71 V2->V2
296testdata/Prelude.lc 166:29-166:71 V2 523testdata/Prelude.lc 166:29-166:71 V2
297testdata/Prelude.lc 166:29-166:71 {a} -> 'Bool -> a -> a->a 524testdata/Prelude.lc 166:29-166:71 {a} -> 'Bool -> a -> a->a
525testdata/Prelude.lc 166:32-166:40 'Bool
526testdata/Prelude.lc 166:32-166:33 V1
527testdata/Prelude.lc 166:32-166:33 V16
528testdata/Prelude.lc 166:38-166:40 V15
529testdata/Prelude.lc 166:38-166:40 V6
530testdata/Prelude.lc 166:46-166:52 V1
531testdata/Prelude.lc 166:46-166:47 Type
532testdata/Prelude.lc 166:46-166:47 V12
533testdata/Prelude.lc 166:50-166:52 Type
534testdata/Prelude.lc 166:50-166:52 V4
535testdata/Prelude.lc 166:58-166:71 Type
536testdata/Prelude.lc 166:58-166:64 V12
537testdata/Prelude.lc 166:65-166:66 V13
538testdata/Prelude.lc 166:67-166:68 Type
539testdata/Prelude.lc 166:69-166:71 'List V9
298testdata/Prelude.lc 165:1-165:7 {a} -> {b : 'Eq a} -> a -> Type -> 'List ('Tuple2 a Type) -> Type 540testdata/Prelude.lc 165:1-165:7 {a} -> {b : 'Eq a} -> a -> Type -> 'List ('Tuple2 a Type) -> Type
299testdata/Prelude.lc 170:1-170:8 {a} -> a->a -> a 541testdata/Prelude.lc 170:1-170:8 {a} -> a->a -> a
300testdata/Prelude.lc 169:28-171:158 V0->V1 542testdata/Prelude.lc 169:28-171:161 V0->V1
301testdata/Prelude.lc 169:28-171:158 V1 543testdata/Prelude.lc 169:28-171:161 V1
302testdata/Prelude.lc 169:28-169:105 Type 544testdata/Prelude.lc 169:28-169:105 Type
303testdata/Prelude.lc 169:29-169:43 Type 545testdata/Prelude.lc 169:29-169:43 Type
304testdata/Prelude.lc 169:29-169:43 Type -> Type->Type 546testdata/Prelude.lc 169:29-169:43 Type -> Type->Type
@@ -317,50 +559,69 @@ testdata/Prelude.lc 169:90-169:105 Type
317testdata/Prelude.lc 169:90-169:97 'List ('Tuple2 'String Type) -> Type 559testdata/Prelude.lc 169:90-169:97 'List ('Tuple2 'String Type) -> Type
318testdata/Prelude.lc 169:98-169:100 'List ('Tuple2 'String Type) 560testdata/Prelude.lc 169:98-169:100 'List ('Tuple2 'String Type)
319testdata/Prelude.lc 169:104-169:105 Type 561testdata/Prelude.lc 169:104-169:105 Type
320testdata/Prelude.lc 170:15-171:158 {a} -> {b : 'List ('Tuple2 'String Type)} -> c:'String -> {d : isKeyC 'String TT c a b} -> 'RecordC b -> a 562testdata/Prelude.lc 170:15-171:161 {a} -> {b : 'List ('Tuple2 'String Type)} -> c:'String -> {d : isKeyC 'String TT c a b} -> 'RecordC b -> a
321testdata/Prelude.lc 170:15-171:158 {a : 'List ('Tuple2 'String Type)} -> b:'String -> {c : isKeyC 'String TT b V2 a} -> 'RecordC a -> V4 563testdata/Prelude.lc 170:15-171:161 {a : 'List ('Tuple2 'String Type)} -> b:'String -> {c : isKeyC 'String TT b V2 a} -> 'RecordC a -> V4
322testdata/Prelude.lc 170:15-171:158 a:'String -> {b : isKeyC 'String TT a V2 V1} -> 'RecordC V2 -> V4 564testdata/Prelude.lc 170:15-171:161 a:'String -> {b : isKeyC 'String TT a V2 V1} -> 'RecordC V2 -> V4
323testdata/Prelude.lc 170:15-171:158 {a : isKeyC 'String TT V0 V2 V1} -> 'RecordC V2 -> V4 565testdata/Prelude.lc 170:15-171:161 {a : isKeyC 'String TT V0 V2 V1} -> 'RecordC V2 -> V4
324testdata/Prelude.lc 170:15-171:158 'RecordC V2 -> V4 566testdata/Prelude.lc 170:15-171:161 'RecordC V2 -> V4
325testdata/Prelude.lc 170:15-171:158 V4 567testdata/Prelude.lc 170:15-171:161 V4
326testdata/Prelude.lc 170:45-171:158 V1 -> 'List V2 -> V2 568testdata/Prelude.lc 170:45-171:161 V1 -> 'List V2 -> V2
327testdata/Prelude.lc 170:45-171:158 'List V2 -> V2 569testdata/Prelude.lc 170:45-171:161 'List V2 -> V2
328testdata/Prelude.lc 170:45-171:158 V2 570testdata/Prelude.lc 170:45-171:161 V2
329testdata/Prelude.lc 170:45-171:158 V2 -> V2->V2 571testdata/Prelude.lc 170:45-171:161 V2 -> V2->V2
330testdata/Prelude.lc 170:45-171:158 V2->V2 572testdata/Prelude.lc 170:45-171:161 V2->V2
331testdata/Prelude.lc 170:51-171:158 tuptype (map ('Tuple2 'String Type) Type (\(a : 'Tuple2 'String Type) -> snd 'String Type a) V1) -> V1 573testdata/Prelude.lc 170:51-171:161 tuptype (map ('Tuple2 'String Type) Type (\(a : 'Tuple2 'String Type) -> snd 'String Type a) V1) -> V1
332testdata/Prelude.lc 170:51-171:158 V1 574testdata/Prelude.lc 170:51-171:161 V1
333testdata/Prelude.lc 171:70-171:158 V0 575testdata/Prelude.lc 171:51-171:161 V0
334testdata/Prelude.lc 171:70-171:88 isKeyC 'String TT V14 V16 V9 576testdata/Prelude.lc 171:51-171:58 {a} -> {b : 'List ('Tuple2 'String Type)} -> c:'String -> {d : isKeyC 'String TT c a b} -> 'RecordC b -> a
577testdata/Prelude.lc 171:60-171:61 Type
578testdata/Prelude.lc 171:63-171:65 'List ('Tuple2 'String Type)
579testdata/Prelude.lc 171:63-171:65 'List V12
580testdata/Prelude.lc 171:66-171:67 'String
581testdata/Prelude.lc 171:70-171:95 isKeyC 'String TT V14 V16 V9
335testdata/Prelude.lc 171:70-171:79 {a}->a 582testdata/Prelude.lc 171:70-171:79 {a}->a
336testdata/Prelude.lc 171:82-171:88 Type 583testdata/Prelude.lc 171:82-171:95 Type
337testdata/Prelude.lc 171:82-171:88 {a} -> {b : 'Eq a} -> a -> Type -> 'List ('Tuple2 a Type) -> Type 584testdata/Prelude.lc 171:82-171:88 {a} -> {b : 'Eq a} -> a -> Type -> 'List ('Tuple2 a Type) -> Type
338testdata/Prelude.lc 171:99-171:158 'RecordC V8 585testdata/Prelude.lc 171:89-171:90 V1
586testdata/Prelude.lc 171:89-171:90 'String
587testdata/Prelude.lc 171:91-171:92 Type
588testdata/Prelude.lc 171:93-171:95 'List ('Tuple2 'String Type)
589testdata/Prelude.lc 171:99-171:161 'RecordC V8
339testdata/Prelude.lc 171:99-171:109 {a : 'List ('Tuple2 'String Type)} -> tuptype (map ('Tuple2 'String Type) Type (\(b : 'Tuple2 'String Type) -> snd 'String Type b) a) -> 'RecordC a 590testdata/Prelude.lc 171:99-171:109 {a : 'List ('Tuple2 'String Type)} -> tuptype (map ('Tuple2 'String Type) Type (\(b : 'Tuple2 'String Type) -> snd 'String Type b) a) -> 'RecordC a
340testdata/Prelude.lc 171:111-171:158 tuptype (map ('Tuple2 'String Type) Type (\(a : 'Tuple2 'String Type) -> snd 'String Type a) V0) 591testdata/Prelude.lc 171:111-171:161 tuptype (map ('Tuple2 'String Type) Type (\(a : 'Tuple2 'String Type) -> snd 'String Type a) V0)
341testdata/Prelude.lc 171:111-171:114 {a} -> {b} -> 'Tuple2 a b -> b 592testdata/Prelude.lc 171:111-171:114 {a} -> {b} -> 'Tuple2 a b -> b
342testdata/Prelude.lc 171:116-171:158 'Tuple2 V1 V0 593testdata/Prelude.lc 171:116-171:161 'Tuple2 V1 V0
343testdata/Prelude.lc 171:116-171:128 {a} -> {b} -> a->b 594testdata/Prelude.lc 171:116-171:128 {a} -> {b} -> a->b
344testdata/Prelude.lc 171:133-171:158 Type 595testdata/Prelude.lc 171:133-171:158 Type
345testdata/Prelude.lc 171:133-171:158 Type -> Type->Type 596testdata/Prelude.lc 171:133-171:158 Type -> Type->Type
346testdata/Prelude.lc 171:137-171:153 Type 597testdata/Prelude.lc 171:134-171:135 Type
598testdata/Prelude.lc 171:137-171:156 Type
347testdata/Prelude.lc 171:137-171:144 'List Type -> Type 599testdata/Prelude.lc 171:137-171:144 'List Type -> Type
348testdata/Prelude.lc 171:146-171:153 'List Type 600testdata/Prelude.lc 171:146-171:156 'List Type
349testdata/Prelude.lc 171:146-171:149 {a} -> {b} -> a->b -> 'List a -> 'List b 601testdata/Prelude.lc 171:146-171:149 {a} -> {b} -> a->b -> 'List a -> 'List b
350testdata/Prelude.lc 171:150-171:153 V1->V1 602testdata/Prelude.lc 171:150-171:153 V1->V1
351testdata/Prelude.lc 171:150-171:153 {a} -> {b} -> 'Tuple2 a b -> b 603testdata/Prelude.lc 171:150-171:153 {a} -> {b} -> 'Tuple2 a b -> b
352testdata/Prelude.lc 170:62-170:109 V15 604testdata/Prelude.lc 171:154-171:156 'List ('Tuple2 V0 Type)
605testdata/Prelude.lc 171:154-171:156 'List ('Tuple2 'String Type)
606testdata/Prelude.lc 171:159-171:161 V0
607testdata/Prelude.lc 171:159-171:161 tuptype (map ('Tuple2 'String Type) Type (\(a : 'Tuple2 'String Type) -> snd 'String Type a) V4)
608testdata/Prelude.lc 170:62-170:112 V15
353testdata/Prelude.lc 170:62-170:65 {a} -> {b} -> 'Tuple2 a b -> a 609testdata/Prelude.lc 170:62-170:65 {a} -> {b} -> 'Tuple2 a b -> a
354testdata/Prelude.lc 170:67-170:109 'Tuple2 V1 V0 610testdata/Prelude.lc 170:67-170:112 'Tuple2 V1 V0
355testdata/Prelude.lc 170:67-170:79 {a} -> {b} -> a->b 611testdata/Prelude.lc 170:67-170:79 {a} -> {b} -> a->b
356testdata/Prelude.lc 170:84-170:109 Type 612testdata/Prelude.lc 170:84-170:109 Type
357testdata/Prelude.lc 170:84-170:109 Type -> Type->Type 613testdata/Prelude.lc 170:84-170:109 Type -> Type->Type
358testdata/Prelude.lc 170:88-170:104 Type 614testdata/Prelude.lc 170:85-170:86 Type
615testdata/Prelude.lc 170:88-170:107 Type
359testdata/Prelude.lc 170:88-170:95 'List Type -> Type 616testdata/Prelude.lc 170:88-170:95 'List Type -> Type
360testdata/Prelude.lc 170:97-170:104 'List Type 617testdata/Prelude.lc 170:97-170:107 'List Type
361testdata/Prelude.lc 170:97-170:100 {a} -> {b} -> a->b -> 'List a -> 'List b 618testdata/Prelude.lc 170:97-170:100 {a} -> {b} -> a->b -> 'List a -> 'List b
362testdata/Prelude.lc 170:101-170:104 V1->V1 619testdata/Prelude.lc 170:101-170:104 V1->V1
363testdata/Prelude.lc 170:101-170:104 {a} -> {b} -> 'Tuple2 a b -> b 620testdata/Prelude.lc 170:101-170:104 {a} -> {b} -> 'Tuple2 a b -> b
621testdata/Prelude.lc 170:105-170:107 'List ('Tuple2 V0 Type)
622testdata/Prelude.lc 170:105-170:107 'List ('Tuple2 'String Type)
623testdata/Prelude.lc 170:110-170:112 V0
624testdata/Prelude.lc 170:110-170:112 tuptype (map ('Tuple2 'String Type) Type (\(a : 'Tuple2 'String Type) -> snd 'String Type a) V3)
364testdata/Prelude.lc 170:51-170:59 'Bool 625testdata/Prelude.lc 170:51-170:59 'Bool
365testdata/Prelude.lc 170:51-170:52 V1 626testdata/Prelude.lc 170:51-170:52 V1
366testdata/Prelude.lc 170:51-170:52 'String 627testdata/Prelude.lc 170:51-170:52 'String
@@ -371,6 +632,12 @@ testdata/Prelude.lc 170:45-170:47 'RecordC V10
371testdata/Prelude.lc 170:15-170:26 'List ('Tuple2 'String Type) 632testdata/Prelude.lc 170:15-170:26 'List ('Tuple2 'String Type)
372testdata/Prelude.lc 170:1-170:8 {a} -> {b : 'List ('Tuple2 'String Type)} -> c:'String -> {d : isKeyC 'String TT c a b} -> 'RecordC b -> a 633testdata/Prelude.lc 170:1-170:8 {a} -> {b : 'List ('Tuple2 'String Type)} -> c:'String -> {d : isKeyC 'String TT c a b} -> 'RecordC b -> a
373testdata/Prelude.lc 175:13-175:15 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 634testdata/Prelude.lc 175:13-175:15 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
635testdata/Prelude.lc 175:16-175:17 V0
636testdata/Prelude.lc 175:16-175:17 V6
637testdata/Prelude.lc 175:18-175:19 V5
638testdata/Prelude.lc 175:18-175:19 V3
639testdata/Prelude.lc 175:20-175:21 V4
640testdata/Prelude.lc 175:20-175:21 V1
374testdata/Prelude.lc 175:22-175:25 V3 641testdata/Prelude.lc 175:22-175:25 V3
375testdata/Prelude.lc 175:22-175:25 'Float 642testdata/Prelude.lc 175:22-175:25 'Float
376testdata/Prelude.lc 175:1-175:4 'Float -> 'Float -> 'Float -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 643testdata/Prelude.lc 175:1-175:4 'Float -> 'Float -> 'Float -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
@@ -469,14 +736,20 @@ testdata/Prelude.lc 199:34-199:39 Type
469testdata/Prelude.lc 200:14-200:30 'VecS 'Float (Succ (Succ (Succ Zero))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 736testdata/Prelude.lc 200:14-200:30 'VecS 'Float (Succ (Succ (Succ Zero))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
470testdata/Prelude.lc 200:14-200:30 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 737testdata/Prelude.lc 200:14-200:30 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
471testdata/Prelude.lc 200:14-200:16 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 738testdata/Prelude.lc 200:14-200:16 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
472testdata/Prelude.lc 200:18-200:18 V0 739testdata/Prelude.lc 200:17-200:18 V0
473testdata/Prelude.lc 200:18-200:18 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a 740testdata/Prelude.lc 200:18-200:18 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a
741testdata/Prelude.lc 200:17-200:18 'VecS V1 V0
742testdata/Prelude.lc 200:17-200:18 'VecS 'Float (Succ (Succ (Succ Zero)))
474testdata/Prelude.lc 200:18-200:18 'Swizz 743testdata/Prelude.lc 200:18-200:18 'Swizz
475testdata/Prelude.lc 200:22-200:22 'Float 744testdata/Prelude.lc 200:21-200:22 'Float
476testdata/Prelude.lc 200:22-200:22 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a 745testdata/Prelude.lc 200:22-200:22 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a
746testdata/Prelude.lc 200:21-200:22 'VecS V1 V0
747testdata/Prelude.lc 200:21-200:22 'VecS 'Float (Succ (Succ (Succ Zero)))
477testdata/Prelude.lc 200:22-200:22 'Swizz 748testdata/Prelude.lc 200:22-200:22 'Swizz
478testdata/Prelude.lc 200:26-200:26 'Float 749testdata/Prelude.lc 200:25-200:26 'Float
479testdata/Prelude.lc 200:26-200:26 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a 750testdata/Prelude.lc 200:26-200:26 {a} -> {b:'Nat} -> 'VecS a b -> 'Swizz->a
751testdata/Prelude.lc 200:25-200:26 'VecS V1 V0
752testdata/Prelude.lc 200:25-200:26 'VecS 'Float (Succ (Succ (Succ Zero)))
480testdata/Prelude.lc 200:26-200:26 'Swizz 753testdata/Prelude.lc 200:26-200:26 'Swizz
481testdata/Prelude.lc 200:29-200:30 'Float 754testdata/Prelude.lc 200:29-200:30 'Float
482testdata/Prelude.lc 200:29-200:30 'Int 755testdata/Prelude.lc 200:29-200:30 'Int
@@ -556,44 +829,116 @@ testdata/Prelude.lc 248:1-248:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float
556testdata/Prelude.lc 249:11-249:22 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a 829testdata/Prelude.lc 249:11-249:22 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a
557testdata/Prelude.lc 249:1-249:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a 830testdata/Prelude.lc 249:1-249:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a
558testdata/Prelude.lc 267:9-267:16 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 831testdata/Prelude.lc 267:9-267:16 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
832testdata/Prelude.lc 267:17-267:18 V1
833testdata/Prelude.lc 267:17-267:18 V5
834testdata/Prelude.lc 267:19-267:20 V4
835testdata/Prelude.lc 267:19-267:20 V2
559testdata/Prelude.lc 267:3-267:4 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 836testdata/Prelude.lc 267:3-267:4 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
560testdata/Prelude.lc 268:9-268:16 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 837testdata/Prelude.lc 268:9-268:16 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
838testdata/Prelude.lc 268:17-268:18 V1
839testdata/Prelude.lc 268:17-268:18 V5
840testdata/Prelude.lc 268:19-268:20 V4
841testdata/Prelude.lc 268:19-268:20 V2
561testdata/Prelude.lc 268:3-268:4 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 842testdata/Prelude.lc 268:3-268:4 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
562testdata/Prelude.lc 269:9-269:16 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 843testdata/Prelude.lc 269:9-269:16 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
844testdata/Prelude.lc 269:17-269:18 V1
845testdata/Prelude.lc 269:17-269:18 V5
846testdata/Prelude.lc 269:19-269:20 V4
847testdata/Prelude.lc 269:19-269:20 V2
563testdata/Prelude.lc 269:3-269:4 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 848testdata/Prelude.lc 269:3-269:4 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
564testdata/Prelude.lc 270:9-270:16 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 849testdata/Prelude.lc 270:9-270:16 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
850testdata/Prelude.lc 270:17-270:18 'VecScalar V1 V2
851testdata/Prelude.lc 270:17-270:18 V6
852testdata/Prelude.lc 270:19-270:20 'VecScalar V1 V2
853testdata/Prelude.lc 270:19-270:20 V4
565testdata/Prelude.lc 270:3-270:4 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b a 854testdata/Prelude.lc 270:3-270:4 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b a
566testdata/Prelude.lc 271:9-271:16 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b 855testdata/Prelude.lc 271:9-271:16 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b
856testdata/Prelude.lc 271:17-271:18 'VecScalar V1 V2
857testdata/Prelude.lc 271:17-271:18 V6
858testdata/Prelude.lc 271:19-271:20 'VecScalar V1 V2
859testdata/Prelude.lc 271:19-271:20 V4
567testdata/Prelude.lc 271:3-271:4 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b a 860testdata/Prelude.lc 271:3-271:4 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b a
568testdata/Prelude.lc 273:9-273:16 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a 861testdata/Prelude.lc 273:9-273:16 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a
862testdata/Prelude.lc 273:17-273:18 V1
863testdata/Prelude.lc 273:17-273:18 V3
569testdata/Prelude.lc 273:1-273:4 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a 864testdata/Prelude.lc 273:1-273:4 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a
570testdata/Prelude.lc 276:10-276:19 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool 865testdata/Prelude.lc 276:10-276:19 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool
866testdata/Prelude.lc 276:20-276:21 V0
867testdata/Prelude.lc 276:20-276:21 V4
868testdata/Prelude.lc 276:22-276:23 V3
869testdata/Prelude.lc 276:22-276:23 V1
571testdata/Prelude.lc 276:3-276:5 {a} -> a -> a->'Bool 870testdata/Prelude.lc 276:3-276:5 {a} -> a -> a->'Bool
572testdata/Prelude.lc 277:10-277:22 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool 871testdata/Prelude.lc 277:10-277:22 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool
872testdata/Prelude.lc 277:23-277:24 V0
873testdata/Prelude.lc 277:23-277:24 V4
874testdata/Prelude.lc 277:25-277:26 V3
875testdata/Prelude.lc 277:25-277:26 V1
573testdata/Prelude.lc 277:3-277:5 {a} -> a -> a->'Bool 876testdata/Prelude.lc 277:3-277:5 {a} -> a -> a->'Bool
574testdata/Prelude.lc 278:9-278:21 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 877testdata/Prelude.lc 278:9-278:21 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
878testdata/Prelude.lc 278:22-278:23 'VecScalar V1 V2
879testdata/Prelude.lc 278:22-278:23 V6
880testdata/Prelude.lc 278:24-278:25 'VecScalar V1 V2
881testdata/Prelude.lc 278:24-278:25 V4
575testdata/Prelude.lc 278:3-278:4 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b 'Bool 882testdata/Prelude.lc 278:3-278:4 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b 'Bool
576testdata/Prelude.lc 279:10-279:27 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 883testdata/Prelude.lc 279:10-279:27 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
884testdata/Prelude.lc 279:28-279:29 'VecScalar V1 V2
885testdata/Prelude.lc 279:28-279:29 V6
886testdata/Prelude.lc 279:30-279:31 'VecScalar V1 V2
887testdata/Prelude.lc 279:30-279:31 V4
577testdata/Prelude.lc 279:3-279:5 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b 'Bool 888testdata/Prelude.lc 279:3-279:5 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b 'Bool
578testdata/Prelude.lc 280:10-280:30 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 889testdata/Prelude.lc 280:10-280:30 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
890testdata/Prelude.lc 280:31-280:32 'VecScalar V1 V2
891testdata/Prelude.lc 280:31-280:32 V6
892testdata/Prelude.lc 280:33-280:34 'VecScalar V1 V2
893testdata/Prelude.lc 280:33-280:34 V4
579testdata/Prelude.lc 280:3-280:5 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b 'Bool 894testdata/Prelude.lc 280:3-280:5 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b 'Bool
580testdata/Prelude.lc 281:9-281:24 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d 895testdata/Prelude.lc 281:9-281:24 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d
896testdata/Prelude.lc 281:25-281:26 'VecScalar V1 V2
897testdata/Prelude.lc 281:25-281:26 V6
898testdata/Prelude.lc 281:27-281:28 'VecScalar V1 V2
899testdata/Prelude.lc 281:27-281:28 V4
581testdata/Prelude.lc 281:3-281:4 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b 'Bool 900testdata/Prelude.lc 281:3-281:4 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> 'VecScalar b a -> 'VecScalar b 'Bool
582testdata/Prelude.lc 284:10-284:17 'Bool -> 'Bool->'Bool 901testdata/Prelude.lc 284:10-284:17 'Bool -> 'Bool->'Bool
902testdata/Prelude.lc 284:18-284:19 'Bool
903testdata/Prelude.lc 284:18-284:19 V3
904testdata/Prelude.lc 284:20-284:21 'Bool
905testdata/Prelude.lc 284:20-284:21 V1
583testdata/Prelude.lc 284:3-284:5 'Bool -> 'Bool->'Bool 906testdata/Prelude.lc 284:3-284:5 'Bool -> 'Bool->'Bool
584testdata/Prelude.lc 285:10-285:16 'Bool -> 'Bool->'Bool 907testdata/Prelude.lc 285:10-285:16 'Bool -> 'Bool->'Bool
908testdata/Prelude.lc 285:17-285:18 'Bool
909testdata/Prelude.lc 285:17-285:18 V3
910testdata/Prelude.lc 285:19-285:20 'Bool
911testdata/Prelude.lc 285:19-285:20 V1
585testdata/Prelude.lc 285:3-285:5 'Bool -> 'Bool->'Bool 912testdata/Prelude.lc 285:3-285:5 'Bool -> 'Bool->'Bool
586testdata/Prelude.lc 286:9-286:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a 913testdata/Prelude.lc 286:9-286:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a
914testdata/Prelude.lc 286:17-286:18 'VecScalar V0 'Bool
915testdata/Prelude.lc 286:17-286:18 V2
587testdata/Prelude.lc 286:1-286:4 {a:'Nat} -> 'VecScalar a 'Bool -> 'VecScalar a 'Bool 916testdata/Prelude.lc 286:1-286:4 {a:'Nat} -> 'VecScalar a 'Bool -> 'VecScalar a 'Bool
588testdata/Prelude.lc 287:9-287:16 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool 917testdata/Prelude.lc 287:9-287:16 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool
918testdata/Prelude.lc 287:17-287:18 'VecScalar V0 'Bool
919testdata/Prelude.lc 287:17-287:18 V2
589testdata/Prelude.lc 287:1-287:4 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool 920testdata/Prelude.lc 287:1-287:4 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool
590testdata/Prelude.lc 288:9-288:16 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool 921testdata/Prelude.lc 288:9-288:16 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool
922testdata/Prelude.lc 288:17-288:18 'VecScalar V0 'Bool
923testdata/Prelude.lc 288:17-288:18 V2
591testdata/Prelude.lc 288:1-288:4 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool 924testdata/Prelude.lc 288:1-288:4 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool
592testdata/Prelude.lc 291:11-291:24 {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c 925testdata/Prelude.lc 291:11-291:24 {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c
926testdata/Prelude.lc 291:25-291:26 'Mat V3 V2 V1
927testdata/Prelude.lc 291:25-291:26 V7
928testdata/Prelude.lc 291:27-291:28 'Mat V2 V0 V1
929testdata/Prelude.lc 291:27-291:28 V5
593testdata/Prelude.lc 291:3-291:6 {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c 930testdata/Prelude.lc 291:3-291:6 {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c
594testdata/Prelude.lc 292:10-292:23 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'VecS c b -> 'VecS c a 931testdata/Prelude.lc 292:10-292:23 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'VecS c b -> 'VecS c a
932testdata/Prelude.lc 292:24-292:25 'Mat V2 V1 V0
933testdata/Prelude.lc 292:24-292:25 V6
934testdata/Prelude.lc 292:26-292:27 'VecS V0 V1
935testdata/Prelude.lc 292:26-292:27 V4
595testdata/Prelude.lc 292:3-292:5 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'VecS c b -> 'VecS c a 936testdata/Prelude.lc 292:3-292:5 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'VecS c b -> 'VecS c a
596testdata/Prelude.lc 293:10-293:23 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'Mat a c b -> 'VecS b c 937testdata/Prelude.lc 293:10-293:23 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'Mat a c b -> 'VecS b c
938testdata/Prelude.lc 293:24-293:25 'VecS V1 V2
939testdata/Prelude.lc 293:24-293:25 V6
940testdata/Prelude.lc 293:26-293:27 'Mat V2 V0 V1
941testdata/Prelude.lc 293:26-293:27 V4
597testdata/Prelude.lc 293:3-293:5 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'Mat a c b -> 'VecS b c 942testdata/Prelude.lc 293:3-293:5 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'Mat a c b -> 'VecS b c
598testdata/Prelude.lc 295:8-295:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 943testdata/Prelude.lc 295:8-295:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
599testdata/Prelude.lc 295:1-295:5 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 944testdata/Prelude.lc 295:1-295:5 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
@@ -602,34 +947,59 @@ testdata/Prelude.lc 296:1-296:5 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float
602testdata/Prelude.lc 299:9-299:18 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 947testdata/Prelude.lc 299:9-299:18 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
603testdata/Prelude.lc 299:1-299:6 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 948testdata/Prelude.lc 299:1-299:6 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
604testdata/Prelude.lc 307:10-307:18 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b 949testdata/Prelude.lc 307:10-307:18 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b
950testdata/Prelude.lc 307:19-307:20 V1
951testdata/Prelude.lc 307:19-307:20 V5
952testdata/Prelude.lc 307:21-307:22 'MatVecScalarElem V4
953testdata/Prelude.lc 307:21-307:22 V2
605testdata/Prelude.lc 307:3-307:5 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> 'MatVecScalarElem a -> a 954testdata/Prelude.lc 307:3-307:5 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> 'MatVecScalarElem a -> a
606testdata/Prelude.lc 308:10-308:18 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b 955testdata/Prelude.lc 308:10-308:18 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b
956testdata/Prelude.lc 308:19-308:20 V1
957testdata/Prelude.lc 308:19-308:20 V5
958testdata/Prelude.lc 308:21-308:22 'MatVecScalarElem V4
959testdata/Prelude.lc 308:21-308:22 V2
607testdata/Prelude.lc 308:3-308:5 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> 'MatVecScalarElem a -> a 960testdata/Prelude.lc 308:3-308:5 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> 'MatVecScalarElem a -> a
608testdata/Prelude.lc 309:10-309:18 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b 961testdata/Prelude.lc 309:10-309:18 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b
962testdata/Prelude.lc 309:19-309:20 V1
963testdata/Prelude.lc 309:19-309:20 V5
964testdata/Prelude.lc 309:21-309:22 'MatVecScalarElem V4
965testdata/Prelude.lc 309:21-309:22 V2
609testdata/Prelude.lc 309:3-309:5 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> 'MatVecScalarElem a -> a 966testdata/Prelude.lc 309:3-309:5 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> 'MatVecScalarElem a -> a
610testdata/Prelude.lc 310:10-310:18 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 967testdata/Prelude.lc 310:10-310:18 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
968testdata/Prelude.lc 310:19-310:20 'VecScalar V1 V2
969testdata/Prelude.lc 310:19-310:20 V6
970testdata/Prelude.lc 310:21-310:22 V2
971testdata/Prelude.lc 310:21-310:22 V4
611testdata/Prelude.lc 310:3-310:5 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> a -> 'VecScalar b a 972testdata/Prelude.lc 310:3-310:5 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> a -> 'VecScalar b a
612testdata/Prelude.lc 311:10-311:18 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b 973testdata/Prelude.lc 311:10-311:18 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b
974testdata/Prelude.lc 311:19-311:20 'VecScalar V1 V2
975testdata/Prelude.lc 311:19-311:20 V6
976testdata/Prelude.lc 311:21-311:22 V2
977testdata/Prelude.lc 311:21-311:22 V4
613testdata/Prelude.lc 311:3-311:5 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> a -> 'VecScalar b a 978testdata/Prelude.lc 311:3-311:5 {a} -> {b:'Nat} -> {c : 'Num a} -> 'VecScalar b a -> a -> 'VecScalar b a
614testdata/Prelude.lc 336:9-336:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 979testdata/Prelude.lc 336:9-336:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
980testdata/Prelude.lc 336:13-336:14 'VecScalar V0 'Float
981testdata/Prelude.lc 336:13-336:14 V2
615testdata/Prelude.lc 337:9-337:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 982testdata/Prelude.lc 337:9-337:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
983testdata/Prelude.lc 337:13-337:14 'VecScalar V0 'Float
984testdata/Prelude.lc 337:13-337:14 'VecScalar V2 'Float
616testdata/Prelude.lc 334:16-334:20 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 985testdata/Prelude.lc 334:16-334:20 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
617testdata/Prelude.lc 334:16-337:12 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 986testdata/Prelude.lc 334:22-334:32 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
618testdata/Prelude.lc 334:22-334:24 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 987testdata/Prelude.lc 334:22-334:24 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
619testdata/Prelude.lc 334:16-337:12 V0 988testdata/Prelude.lc 334:25-334:26 V0
620testdata/Prelude.lc 334:16-337:12 'VecScalar V3 'Float 989testdata/Prelude.lc 334:25-334:26 'VecScalar V3 'Float
621testdata/Prelude.lc 334:16-334:74 'VecScalar V2 'Float 990testdata/Prelude.lc 334:27-334:28 'VecScalar V2 'Float
622testdata/Prelude.lc 334:29-334:30 'VecScalar V2 'Float 991testdata/Prelude.lc 334:29-334:30 'VecScalar V2 'Float
623testdata/Prelude.lc 334:29-334:30 'Int 992testdata/Prelude.lc 334:29-334:30 'Int
624testdata/Prelude.lc 334:31-334:32 'Float 993testdata/Prelude.lc 334:31-334:32 'Float
625testdata/Prelude.lc 334:31-334:32 'Int 994testdata/Prelude.lc 334:31-334:32 'Int
995testdata/Prelude.lc 334:35-334:48 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
626testdata/Prelude.lc 334:35-334:37 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 996testdata/Prelude.lc 334:35-334:37 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
627testdata/Prelude.lc 334:16-334:74 V0 997testdata/Prelude.lc 334:39-334:41 V0
628testdata/Prelude.lc 334:39-334:41 V1 998testdata/Prelude.lc 334:39-334:41 V1
629testdata/Prelude.lc 334:39-334:41 'Int 999testdata/Prelude.lc 334:39-334:41 'Int
630testdata/Prelude.lc 334:16-334:74 V2 1000testdata/Prelude.lc 334:40-334:41 V2
631testdata/Prelude.lc 334:16-334:74 'Float 1001testdata/Prelude.lc 334:40-334:41 'Float
632testdata/Prelude.lc 334:16-337:12 'Float 1002testdata/Prelude.lc 334:43-334:44 'Float
633testdata/Prelude.lc 334:45-334:46 'Float 1003testdata/Prelude.lc 334:45-334:46 'Float
634testdata/Prelude.lc 334:45-334:46 'Int 1004testdata/Prelude.lc 334:45-334:46 'Int
635testdata/Prelude.lc 334:47-334:48 'Float 1005testdata/Prelude.lc 334:47-334:48 'Float
@@ -656,18 +1026,22 @@ testdata/Prelude.lc 334:73-334:74 'Float
656testdata/Prelude.lc 334:73-334:74 'Int 1026testdata/Prelude.lc 334:73-334:74 'Int
657testdata/Prelude.lc 334:1-334:11 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1027testdata/Prelude.lc 334:1-334:11 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
658testdata/Prelude.lc 341:9-341:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 1028testdata/Prelude.lc 341:9-341:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1029testdata/Prelude.lc 341:13-341:14 'VecScalar V0 'Float
1030testdata/Prelude.lc 341:13-341:14 V2
659testdata/Prelude.lc 342:9-342:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 1031testdata/Prelude.lc 342:9-342:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1032testdata/Prelude.lc 342:13-342:14 'VecScalar V0 'Float
1033testdata/Prelude.lc 342:13-342:14 'VecScalar V2 'Float
660testdata/Prelude.lc 339:16-339:20 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1034testdata/Prelude.lc 339:16-339:20 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
661testdata/Prelude.lc 339:16-342:12 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 1035testdata/Prelude.lc 339:22-339:35 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
662testdata/Prelude.lc 339:22-339:24 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 1036testdata/Prelude.lc 339:22-339:24 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
663testdata/Prelude.lc 339:16-342:12 V0 1037testdata/Prelude.lc 339:25-339:26 V0
664testdata/Prelude.lc 339:16-342:12 'VecScalar V3 'Float 1038testdata/Prelude.lc 339:25-339:26 'VecScalar V3 'Float
665testdata/Prelude.lc 339:27-339:28 'VecScalar V2 'Float 1039testdata/Prelude.lc 339:27-339:28 'VecScalar V2 'Float
666testdata/Prelude.lc 339:27-339:28 'Int 1040testdata/Prelude.lc 339:27-339:28 'Int
667testdata/Prelude.lc 339:16-339:74 'VecScalar V3 'Float 1041testdata/Prelude.lc 339:30-339:32 'VecScalar V3 'Float
668testdata/Prelude.lc 339:30-339:32 V1 1042testdata/Prelude.lc 339:30-339:32 V1
669testdata/Prelude.lc 339:30-339:32 'Int 1043testdata/Prelude.lc 339:30-339:32 'Int
670testdata/Prelude.lc 339:16-339:74 'VecScalar V5 'Float 1044testdata/Prelude.lc 339:31-339:32 'VecScalar V5 'Float
671testdata/Prelude.lc 339:34-339:35 'Float 1045testdata/Prelude.lc 339:34-339:35 'Float
672testdata/Prelude.lc 339:34-339:35 'Int 1046testdata/Prelude.lc 339:34-339:35 'Int
673testdata/Prelude.lc 339:38-339:48 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 1047testdata/Prelude.lc 339:38-339:48 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
@@ -680,12 +1054,13 @@ testdata/Prelude.lc 339:45-339:46 V1
680testdata/Prelude.lc 339:45-339:46 'Int 1054testdata/Prelude.lc 339:45-339:46 'Int
681testdata/Prelude.lc 339:47-339:48 'Float 1055testdata/Prelude.lc 339:47-339:48 'Float
682testdata/Prelude.lc 339:47-339:48 'Int 1056testdata/Prelude.lc 339:47-339:48 'Int
1057testdata/Prelude.lc 339:51-339:61 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
683testdata/Prelude.lc 339:51-339:53 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 1058testdata/Prelude.lc 339:51-339:53 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
684testdata/Prelude.lc 339:16-339:74 V0 1059testdata/Prelude.lc 339:54-339:55 V0
685testdata/Prelude.lc 339:16-339:74 'Float 1060testdata/Prelude.lc 339:54-339:55 'Float
686testdata/Prelude.lc 339:56-339:57 'Float 1061testdata/Prelude.lc 339:56-339:57 'Float
687testdata/Prelude.lc 339:56-339:57 'Int 1062testdata/Prelude.lc 339:56-339:57 'Int
688testdata/Prelude.lc 339:16-342:12 'Float 1063testdata/Prelude.lc 339:58-339:59 'Float
689testdata/Prelude.lc 339:60-339:61 'Float 1064testdata/Prelude.lc 339:60-339:61 'Float
690testdata/Prelude.lc 339:60-339:61 'Int 1065testdata/Prelude.lc 339:60-339:61 'Int
691testdata/Prelude.lc 339:64-339:74 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 1066testdata/Prelude.lc 339:64-339:74 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
@@ -700,7 +1075,11 @@ testdata/Prelude.lc 339:73-339:74 'Float
700testdata/Prelude.lc 339:73-339:74 'Int 1075testdata/Prelude.lc 339:73-339:74 'Int
701testdata/Prelude.lc 339:1-339:11 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1076testdata/Prelude.lc 339:1-339:11 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
702testdata/Prelude.lc 346:9-346:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 1077testdata/Prelude.lc 346:9-346:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1078testdata/Prelude.lc 346:13-346:14 'VecScalar V0 'Float
1079testdata/Prelude.lc 346:13-346:14 V2
703testdata/Prelude.lc 347:9-347:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 1080testdata/Prelude.lc 347:9-347:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
1081testdata/Prelude.lc 347:13-347:14 'VecScalar V0 'Float
1082testdata/Prelude.lc 347:13-347:14 'VecScalar V2 'Float
704testdata/Prelude.lc 344:16-344:20 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1083testdata/Prelude.lc 344:16-344:20 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
705testdata/Prelude.lc 344:22-344:32 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 1084testdata/Prelude.lc 344:22-344:32 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
706testdata/Prelude.lc 344:22-344:24 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 1085testdata/Prelude.lc 344:22-344:24 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
@@ -712,24 +1091,24 @@ testdata/Prelude.lc 344:29-344:30 V1
712testdata/Prelude.lc 344:29-344:30 'Int 1091testdata/Prelude.lc 344:29-344:30 'Int
713testdata/Prelude.lc 344:31-344:32 'Float 1092testdata/Prelude.lc 344:31-344:32 'Float
714testdata/Prelude.lc 344:31-344:32 'Int 1093testdata/Prelude.lc 344:31-344:32 'Int
715testdata/Prelude.lc 344:16-347:12 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 1094testdata/Prelude.lc 344:35-344:45 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
716testdata/Prelude.lc 344:35-344:37 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 1095testdata/Prelude.lc 344:35-344:37 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
717testdata/Prelude.lc 344:38-344:39 V0 1096testdata/Prelude.lc 344:38-344:39 V0
718testdata/Prelude.lc 344:38-344:39 'Int 1097testdata/Prelude.lc 344:38-344:39 'Int
719testdata/Prelude.lc 344:16-347:12 V1 1098testdata/Prelude.lc 344:40-344:41 V1
720testdata/Prelude.lc 344:16-347:12 'VecScalar V4 'Float 1099testdata/Prelude.lc 344:40-344:41 'VecScalar V4 'Float
721testdata/Prelude.lc 344:16-344:74 'VecScalar V3 'Float 1100testdata/Prelude.lc 344:42-344:43 'VecScalar V3 'Float
722testdata/Prelude.lc 344:44-344:45 'Float 1101testdata/Prelude.lc 344:44-344:45 'Float
723testdata/Prelude.lc 344:44-344:45 'Int 1102testdata/Prelude.lc 344:44-344:45 'Int
1103testdata/Prelude.lc 344:48-344:61 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
724testdata/Prelude.lc 344:48-344:50 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 1104testdata/Prelude.lc 344:48-344:50 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
725testdata/Prelude.lc 344:51-344:52 V0 1105testdata/Prelude.lc 344:51-344:52 V0
726testdata/Prelude.lc 344:51-344:52 'Int 1106testdata/Prelude.lc 344:51-344:52 'Int
727testdata/Prelude.lc 344:16-344:74 V1
728testdata/Prelude.lc 344:54-344:56 V1 1107testdata/Prelude.lc 344:54-344:56 V1
729testdata/Prelude.lc 344:54-344:56 'Int 1108testdata/Prelude.lc 344:54-344:56 'Int
730testdata/Prelude.lc 344:16-344:74 V3 1109testdata/Prelude.lc 344:55-344:56 V3
731testdata/Prelude.lc 344:16-344:74 'Float 1110testdata/Prelude.lc 344:55-344:56 'Float
732testdata/Prelude.lc 344:16-347:12 'Float 1111testdata/Prelude.lc 344:58-344:59 'Float
733testdata/Prelude.lc 344:60-344:61 'Float 1112testdata/Prelude.lc 344:60-344:61 'Float
734testdata/Prelude.lc 344:60-344:61 'Int 1113testdata/Prelude.lc 344:60-344:61 'Int
735testdata/Prelude.lc 344:64-344:74 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 1114testdata/Prelude.lc 344:64-344:74 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
@@ -743,16 +1122,28 @@ testdata/Prelude.lc 344:71-344:72 'Int
743testdata/Prelude.lc 344:73-344:74 'Float 1122testdata/Prelude.lc 344:73-344:74 'Float
744testdata/Prelude.lc 344:73-344:74 'Int 1123testdata/Prelude.lc 344:73-344:74 'Int
745testdata/Prelude.lc 344:1-344:11 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1124testdata/Prelude.lc 344:1-344:11 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
746testdata/Prelude.lc 349:23-349:50 'Mat V3 V2 V1 1125testdata/Prelude.lc 349:23-349:52 'Mat V3 V2 V1
747testdata/Prelude.lc 349:23-349:33 'Mat V3 V2 V1 1126testdata/Prelude.lc 349:23-349:35 'Mat V3 V2 V1
748testdata/Prelude.lc 349:23-349:33 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1127testdata/Prelude.lc 349:23-349:33 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
749testdata/Prelude.lc 349:40-349:50 'Mat (Succ (Succ (Succ (Succ Zero)))) V1 'Float 1128testdata/Prelude.lc 349:34-349:35 'Float
1129testdata/Prelude.lc 349:34-349:35 V10
1130testdata/Prelude.lc 349:40-349:52 'Mat (Succ (Succ (Succ (Succ Zero)))) V1 'Float
750testdata/Prelude.lc 349:40-349:50 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1131testdata/Prelude.lc 349:40-349:50 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
751testdata/Prelude.lc 349:57-349:67 'Mat (Succ (Succ (Succ (Succ Zero)))) V0 'Float 1132testdata/Prelude.lc 349:51-349:52 'Float
1133testdata/Prelude.lc 349:51-349:52 V4
1134testdata/Prelude.lc 349:57-349:69 'Mat (Succ (Succ (Succ (Succ Zero)))) V0 'Float
752testdata/Prelude.lc 349:57-349:67 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1135testdata/Prelude.lc 349:57-349:67 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
1136testdata/Prelude.lc 349:68-349:69 'Float
1137testdata/Prelude.lc 349:68-349:69 V1
753testdata/Prelude.lc 349:1-349:14 'Float -> 'Float -> 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float 1138testdata/Prelude.lc 349:1-349:14 'Float -> 'Float -> 'Float -> 'Mat (Succ (Succ (Succ (Succ Zero)))) (Succ (Succ (Succ (Succ Zero)))) 'Float
1139testdata/Prelude.lc 365:13-365:14 V1
1140testdata/Prelude.lc 365:13-365:14 V3
754testdata/Prelude.lc 365:17-365:29 V2 1141testdata/Prelude.lc 365:17-365:29 V2
755testdata/Prelude.lc 365:17-365:19 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) 1142testdata/Prelude.lc 365:17-365:19 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero))))
1143testdata/Prelude.lc 365:20-365:21 V0
1144testdata/Prelude.lc 365:20-365:21 V5
1145testdata/Prelude.lc 365:22-365:23 V4
1146testdata/Prelude.lc 365:24-365:25 V4
756testdata/Prelude.lc 365:26-365:29 V3 1147testdata/Prelude.lc 365:26-365:29 V3
757testdata/Prelude.lc 365:26-365:29 'Float 1148testdata/Prelude.lc 365:26-365:29 'Float
758testdata/Prelude.lc 365:1-365:6 'Float -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) 1149testdata/Prelude.lc 365:1-365:6 'Float -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero))))
@@ -769,15 +1160,30 @@ testdata/Prelude.lc 368:14-368:58 'Float -> 'Float -> 'List 'Float
769testdata/Prelude.lc 368:14-368:58 'Float -> 'List 'Float 1160testdata/Prelude.lc 368:14-368:58 'Float -> 'List 'Float
770testdata/Prelude.lc 368:14-368:58 'List 'Float 1161testdata/Prelude.lc 368:14-368:58 'List 'Float
771testdata/Prelude.lc 368:14-368:58 {a} -> 'Bool -> a -> a->a 1162testdata/Prelude.lc 368:14-368:58 {a} -> 'Bool -> a -> a->a
772testdata/Prelude.lc 368:52-368:55 'List 'Float 1163testdata/Prelude.lc 368:17-368:22 'Bool
1164testdata/Prelude.lc 368:17-368:18 'VecScalar V1 V2
1165testdata/Prelude.lc 368:17-368:18 'Float
1166testdata/Prelude.lc 368:21-368:22 'Float
1167testdata/Prelude.lc 368:36-368:58 'List 'Float
1168testdata/Prelude.lc 368:36-368:37 V0
1169testdata/Prelude.lc 368:36-368:37 'Float
1170testdata/Prelude.lc 368:39-368:58 'List 'Float
1171testdata/Prelude.lc 368:39-368:45 'Float -> 'Float -> 'List 'Float
1172testdata/Prelude.lc 368:47-368:55 'Float
1173testdata/Prelude.lc 368:47-368:48 V1
1174testdata/Prelude.lc 368:47-368:48 'Float
773testdata/Prelude.lc 368:52-368:55 'Float 1175testdata/Prelude.lc 368:52-368:55 'Float
1176testdata/Prelude.lc 368:57-368:58 'Float
774testdata/Prelude.lc 368:1-368:7 'Float -> 'Float -> 'List 'Float 1177testdata/Prelude.lc 368:1-368:7 'Float -> 'Float -> 'List 'Float
775testdata/Prelude.lc 371:10-371:12 {a} -> a->a -> a 1178testdata/Prelude.lc 371:10-371:12 {a} -> a->a -> a
776testdata/Prelude.lc 370:9-372:29 V0->V1 1179testdata/Prelude.lc 370:9-372:29 V0->V1
777testdata/Prelude.lc 370:9-372:29 V1 1180testdata/Prelude.lc 370:9-372:29 V1
778testdata/Prelude.lc 370:9-370:24 Type 1181testdata/Prelude.lc 370:9-370:24 Type
779testdata/Prelude.lc 370:9-370:24 V1 1182testdata/Prelude.lc 370:10-370:11 Type
1183testdata/Prelude.lc 370:10-370:11 V1
1184testdata/Prelude.lc 370:16-370:24 Type
780testdata/Prelude.lc 370:16-370:19 Type 1185testdata/Prelude.lc 370:16-370:19 Type
1186testdata/Prelude.lc 370:23-370:24 Type
781testdata/Prelude.lc 371:2-372:29 {a} -> 'List a -> 'Int->a 1187testdata/Prelude.lc 371:2-372:29 {a} -> 'List a -> 'Int->a
782testdata/Prelude.lc 371:2-372:29 'List V0 -> 'Int->V2 1188testdata/Prelude.lc 371:2-372:29 'List V0 -> 'Int->V2
783testdata/Prelude.lc 371:2-372:29 'Int->V2 1189testdata/Prelude.lc 371:2-372:29 'Int->V2
@@ -785,9 +1191,16 @@ testdata/Prelude.lc 371:2-372:29 V2
785testdata/Prelude.lc 371:13-372:29 V1 -> 'List V2 -> V2 1191testdata/Prelude.lc 371:13-372:29 V1 -> 'List V2 -> V2
786testdata/Prelude.lc 371:13-372:29 'List V2 -> V2 1192testdata/Prelude.lc 371:13-372:29 'List V2 -> V2
787testdata/Prelude.lc 371:13-372:29 V2 1193testdata/Prelude.lc 371:13-372:29 V2
788testdata/Prelude.lc 372:28-372:29 V0 1194testdata/Prelude.lc 372:19-372:29 V0
1195testdata/Prelude.lc 372:19-372:21 'List V0
1196testdata/Prelude.lc 372:19-372:21 'List V5
1197testdata/Prelude.lc 372:26-372:29 'Int
1198testdata/Prelude.lc 372:26-372:27 V1
1199testdata/Prelude.lc 372:26-372:27 'Int
789testdata/Prelude.lc 372:28-372:29 'Int 1200testdata/Prelude.lc 372:28-372:29 'Int
790testdata/Prelude.lc 372:28-372:29 V3 1201testdata/Prelude.lc 371:19-371:20 V3
1202testdata/Prelude.lc 372:19-372:29 V3
1203testdata/Prelude.lc 372:19-372:21 'List V4
791testdata/Prelude.lc 371:13-371:14 'Ordering 1204testdata/Prelude.lc 371:13-371:14 'Ordering
792testdata/Prelude.lc 371:13-371:14 'Int 1205testdata/Prelude.lc 371:13-371:14 'Int
793testdata/Prelude.lc 371:2-371:7 'List V2 1206testdata/Prelude.lc 371:2-371:7 'List V2
diff --git a/testdata/accumulate01.reject.out b/testdata/accumulate01.reject.out
index 247c14f6..bafc2ed1 100644
--- a/testdata/accumulate01.reject.out
+++ b/testdata/accumulate01.reject.out
@@ -3,8 +3,6 @@ type error: can not unify
3with 3with
4Zero 4Zero
5 5
6in "testdata/accumulate01.reject.lc" (line 9, column 23): 6in "testdata/accumulate01.reject.lc" (line 9, column 60):
7 fragmentStream = rasterizePrimitives rasterCtx Smooth primitiveStream 7 fragmentStream = rasterizePrimitives rasterCtx Smooth primitiveStream
8 fragmentShader = \v -> (V4 1.0 0.0 0.0 1.0) 8 ^^^^^^^^^^^^^^^
9 frame = accumulate fragmentCtx fragmentShader fragmentStream emptyFB
10 in ScreenOut frame
diff --git a/testdata/ambig.out b/testdata/ambig.out
index 0f31c90a..6c9fb611 100644
--- a/testdata/ambig.out
+++ b/testdata/ambig.out
@@ -6,12 +6,15 @@ testdata/ambig.lc 3:26-3:27 Type
6testdata/ambig.lc 3:28-3:29 Type 6testdata/ambig.lc 3:28-3:29 Type
7testdata/ambig.lc 3:6-3:12 Type 7testdata/ambig.lc 3:6-3:12 Type
8testdata/ambig.lc 3:19-3:25 {a} -> {b} -> a -> b -> 'Tuple2 a b 8testdata/ambig.lc 3:19-3:25 {a} -> {b} -> a -> b -> 'Tuple2 a b
9testdata/ambig.lc 8:23-8:26 V2 -> V2->V2 9testdata/ambig.lc 8:21-8:26 V2 -> V2->V2
10testdata/ambig.lc 8:23-8:26 V2->V2 10testdata/ambig.lc 8:21-8:26 V2->V2
11testdata/ambig.lc 8:23-8:26 V2 11testdata/ambig.lc 8:21-8:26 V2
12testdata/ambig.lc 8:21-8:22 V12
12testdata/ambig.lc 8:23-8:24 V7 13testdata/ambig.lc 8:23-8:24 V7
13testdata/ambig.lc 8:25-8:26 V7 14testdata/ambig.lc 8:25-8:26 V7
14testdata/ambig.lc 8:12-8:16 'Tuple2 V2 V1 15testdata/ambig.lc 8:12-8:16 'Tuple2 V2 V1
15testdata/ambig.lc 8:12-8:16 V4 16testdata/ambig.lc 8:12-8:16 V4
17testdata/ambig.lc 8:28-8:29 'Tuple2 V2 V1
18testdata/ambig.lc 8:28-8:29 V6
16testdata/ambig.lc 5:11-5:12 V1 19testdata/ambig.lc 5:11-5:12 V1
17testdata/ambig.lc 5:1-5:2 {a} -> {b} -> {c} -> {d} -> (b -> c->d) -> 'Tuple2 b c -> a->d 20testdata/ambig.lc 5:1-5:2 {a} -> {b} -> {c} -> {d} -> (b -> c->d) -> 'Tuple2 b c -> a->d
diff --git a/testdata/complex.out b/testdata/complex.out
index 3a7358bd..8fa16de5 100644
--- a/testdata/complex.out
+++ b/testdata/complex.out
@@ -21,6 +21,9 @@ testdata/complex.lc 8:20-8:27 'Repr->Type
21testdata/complex.lc 8:28-8:29 'Repr 21testdata/complex.lc 8:28-8:29 'Repr
22testdata/complex.lc 8:28-8:29 V1 22testdata/complex.lc 8:28-8:29 V1
23testdata/complex.lc 8:33-8:37 Type 23testdata/complex.lc 8:33-8:37 Type
24testdata/complex.lc 9:13-9:14 {a:'Repr} -> 'Complex a -> 'Repr
25testdata/complex.lc 9:13-9:14 'Complex V0 -> 'Repr
26testdata/complex.lc 9:13-9:14 'Repr
24testdata/complex.lc 9:1-9:5 {a:'Repr} -> 'Complex a -> 'Repr 27testdata/complex.lc 9:1-9:5 {a:'Repr} -> 'Complex a -> 'Repr
25testdata/complex.lc 11:11-11:43 Type 28testdata/complex.lc 11:11-11:43 Type
26testdata/complex.lc 11:11-11:16 Type 29testdata/complex.lc 11:11-11:16 Type
@@ -29,10 +32,12 @@ testdata/complex.lc 11:20-11:25 Type
29testdata/complex.lc 11:29-11:43 Type 32testdata/complex.lc 11:29-11:43 Type
30testdata/complex.lc 11:29-11:36 'Repr->Type 33testdata/complex.lc 11:29-11:36 'Repr->Type
31testdata/complex.lc 11:37-11:43 'Repr 34testdata/complex.lc 11:37-11:43 'Repr
32testdata/complex.lc 12:14-12:21 'Float -> 'Float -> 'Complex Normal 35testdata/complex.lc 12:14-12:25 'Float -> 'Float -> 'Complex Normal
33testdata/complex.lc 12:14-12:21 'Float -> 'Complex Normal 36testdata/complex.lc 12:14-12:25 'Float -> 'Complex Normal
34testdata/complex.lc 12:14-12:21 'Complex Normal 37testdata/complex.lc 12:14-12:25 'Complex Normal
35testdata/complex.lc 12:14-12:21 {a:'Repr} -> 'Float -> 'Float -> 'Complex a 38testdata/complex.lc 12:14-12:21 {a:'Repr} -> 'Float -> 'Float -> 'Complex a
39testdata/complex.lc 12:22-12:23 'Float
40testdata/complex.lc 12:24-12:25 'Float
36testdata/complex.lc 12:1-12:7 'Float -> 'Float -> 'Complex Normal 41testdata/complex.lc 12:1-12:7 'Float -> 'Float -> 'Complex Normal
37testdata/complex.lc 14:10-14:41 Type 42testdata/complex.lc 14:10-14:41 Type
38testdata/complex.lc 14:10-14:15 Type 43testdata/complex.lc 14:10-14:15 Type
@@ -41,28 +46,44 @@ testdata/complex.lc 14:19-14:24 Type
41testdata/complex.lc 14:28-14:41 Type 46testdata/complex.lc 14:28-14:41 Type
42testdata/complex.lc 14:28-14:35 'Repr->Type 47testdata/complex.lc 14:28-14:35 'Repr->Type
43testdata/complex.lc 14:36-14:41 'Repr 48testdata/complex.lc 14:36-14:41 'Repr
44testdata/complex.lc 15:13-15:20 'Float -> 'Float -> 'Complex Polar 49testdata/complex.lc 15:13-15:24 'Float -> 'Float -> 'Complex Polar
45testdata/complex.lc 15:13-15:20 'Float -> 'Complex Polar 50testdata/complex.lc 15:13-15:24 'Float -> 'Complex Polar
46testdata/complex.lc 15:13-15:20 'Complex Polar 51testdata/complex.lc 15:13-15:24 'Complex Polar
47testdata/complex.lc 15:13-15:20 {a:'Repr} -> 'Float -> 'Float -> 'Complex a 52testdata/complex.lc 15:13-15:20 {a:'Repr} -> 'Float -> 'Float -> 'Complex a
53testdata/complex.lc 15:21-15:22 'Float
54testdata/complex.lc 15:23-15:24 'Float
48testdata/complex.lc 15:1-15:6 'Float -> 'Float -> 'Complex Polar 55testdata/complex.lc 15:1-15:6 'Float -> 'Float -> 'Complex Polar
49testdata/complex.lc 18:20-18:38 Type 56testdata/complex.lc 18:20-18:38 Type
50testdata/complex.lc 18:20-18:27 'Repr->Type 57testdata/complex.lc 18:20-18:27 'Repr->Type
51testdata/complex.lc 18:28-18:29 'Repr 58testdata/complex.lc 18:28-18:29 'Repr
52testdata/complex.lc 18:28-18:29 V1 59testdata/complex.lc 18:28-18:29 V1
53testdata/complex.lc 18:33-18:38 Type 60testdata/complex.lc 18:33-18:38 Type
54testdata/complex.lc 19:7-20:29 {a:'Repr} -> 'Complex a -> 'Float 61testdata/complex.lc 19:7-20:34 {a:'Repr} -> 'Complex a -> 'Float
55testdata/complex.lc 19:7-20:29 'Complex V0 -> 'Float 62testdata/complex.lc 19:7-20:34 'Complex V0 -> 'Float
56testdata/complex.lc 19:7-20:29 'Float 63testdata/complex.lc 19:7-20:34 'Float
57testdata/complex.lc 19:23-19:37 V0 64testdata/complex.lc 19:23-19:48 V0
58testdata/complex.lc 19:33-19:37 {a:'Repr} -> 'Float -> 'Float->V3 65testdata/complex.lc 19:33-19:48 {a:'Repr} -> 'Float -> 'Float->V3
59testdata/complex.lc 19:33-19:37 'Float -> 'Float->V3 66testdata/complex.lc 19:33-19:48 'Float -> 'Float->V3
60testdata/complex.lc 19:33-19:37 'Float->V3 67testdata/complex.lc 19:33-19:48 'Float->V3
61testdata/complex.lc 19:33-19:37 V3 68testdata/complex.lc 19:33-19:48 V3
62testdata/complex.lc 19:33-19:37 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 69testdata/complex.lc 19:33-19:37 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
70testdata/complex.lc 19:39-19:48 'VecScalar V0 'Float
71testdata/complex.lc 19:39-19:42 V1
72testdata/complex.lc 19:39-19:40 V1
73testdata/complex.lc 19:39-19:40 'Float
74testdata/complex.lc 19:41-19:42 'Float
75testdata/complex.lc 19:45-19:48 'Float
76testdata/complex.lc 19:45-19:46 V1
77testdata/complex.lc 19:45-19:46 'Float
78testdata/complex.lc 19:47-19:48 'Float
63testdata/complex.lc 19:23-19:26 'Complex V0 79testdata/complex.lc 19:23-19:26 'Complex V0
64testdata/complex.lc 19:23-19:26 'Complex V3 80testdata/complex.lc 19:23-19:26 'Complex V3
65testdata/complex.lc 20:23-20:29 'Float 81testdata/complex.lc 20:23-20:34 'Float
82testdata/complex.lc 20:33-20:34 {a:'Repr} -> 'Float -> 'Float->V3
83testdata/complex.lc 20:33-20:34 'Float -> 'Float->V3
84testdata/complex.lc 20:33-20:34 'Float->V3
85testdata/complex.lc 20:33-20:34 V3
86testdata/complex.lc 20:33-20:34 'Float
66testdata/complex.lc 20:23-20:29 'Complex V0 87testdata/complex.lc 20:23-20:29 'Complex V0
67testdata/complex.lc 20:23-20:29 'Complex V2 88testdata/complex.lc 20:23-20:29 'Complex V2
68testdata/complex.lc 19:7-19:13 'Repr 89testdata/complex.lc 19:7-19:13 'Repr
@@ -73,62 +94,112 @@ testdata/complex.lc 22:20-22:26 'Repr
73testdata/complex.lc 22:30-22:43 Type 94testdata/complex.lc 22:30-22:43 Type
74testdata/complex.lc 22:30-22:37 'Repr->Type 95testdata/complex.lc 22:30-22:37 'Repr->Type
75testdata/complex.lc 22:38-22:43 'Repr 96testdata/complex.lc 22:38-22:43 'Repr
76testdata/complex.lc 23:18-31:13 'Complex Normal -> 'Complex Polar 97testdata/complex.lc 23:18-31:24 'Complex Normal -> 'Complex Polar
77testdata/complex.lc 23:18-31:13 'Complex Polar 98testdata/complex.lc 23:18-31:24 'Complex Polar
78testdata/complex.lc 24:8-31:13 {a:'Repr} -> 'Float -> 'Float->V3 99testdata/complex.lc 24:8-31:24 {a:'Repr} -> 'Float -> 'Float->V3
79testdata/complex.lc 24:8-31:13 'Float -> 'Float->V3 100testdata/complex.lc 24:8-31:24 'Float -> 'Float->V3
80testdata/complex.lc 24:8-31:13 'Float->V3 101testdata/complex.lc 24:8-31:24 'Float->V3
81testdata/complex.lc 24:8-31:13 V3 102testdata/complex.lc 24:8-31:24 V3
82testdata/complex.lc 31:9-31:13 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 103testdata/complex.lc 31:9-31:13 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
104testdata/complex.lc 31:15-31:24 'VecScalar V0 'Float
105testdata/complex.lc 31:15-31:18 V1
106testdata/complex.lc 31:15-31:16 V1
107testdata/complex.lc 31:15-31:16 'Float
108testdata/complex.lc 31:17-31:18 'Float
109testdata/complex.lc 31:21-31:24 'Float
110testdata/complex.lc 31:21-31:22 V1
111testdata/complex.lc 31:21-31:22 'Float
112testdata/complex.lc 31:23-31:24 'Float
83testdata/complex.lc 24:8-29:17 {a} -> 'Bool -> a -> a->a 113testdata/complex.lc 24:8-29:17 {a} -> 'Bool -> a -> a->a
84testdata/complex.lc 24:16-24:19 'Bool 114testdata/complex.lc 24:11-24:19 'Bool
115testdata/complex.lc 24:11-24:12 'VecScalar V1 V2
116testdata/complex.lc 24:11-24:12 'Float
85testdata/complex.lc 24:16-24:19 'Float 117testdata/complex.lc 24:16-24:19 'Float
86testdata/complex.lc 24:8-29:17 V0 118testdata/complex.lc 24:37-24:57 V0
87testdata/complex.lc 24:37-24:42 'Float -> 'Float -> 'Complex Polar 119testdata/complex.lc 24:37-24:42 'Float -> 'Float -> 'Complex Polar
88testdata/complex.lc 24:8-29:17 'Float 120testdata/complex.lc 24:43-24:44 'Float
89testdata/complex.lc 24:46-24:50 'Float 121testdata/complex.lc 24:46-24:57 'Float
90testdata/complex.lc 24:46-24:50 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 122testdata/complex.lc 24:46-24:50 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
91testdata/complex.lc 24:8-29:17 'Complex Polar 123testdata/complex.lc 24:52-24:57 'VecScalar V0 'Float
124testdata/complex.lc 24:52-24:53 'VecScalar V1 V2
125testdata/complex.lc 24:52-24:53 'Float
126testdata/complex.lc 24:56-24:57 'Float
127testdata/complex.lc 25:8-29:17 'Complex Polar
92testdata/complex.lc 25:8-29:17 {a} -> 'Bool -> a -> a->a 128testdata/complex.lc 25:8-29:17 {a} -> 'Bool -> a -> a->a
93testdata/complex.lc 25:16-25:31 'Bool 129testdata/complex.lc 25:11-25:31 'Bool
94testdata/complex.lc 25:16-25:19 'Bool 130testdata/complex.lc 25:11-25:19 'Bool
131testdata/complex.lc 25:11-25:12 'VecScalar V1 V2
132testdata/complex.lc 25:11-25:12 'Float
95testdata/complex.lc 25:16-25:19 'Float 133testdata/complex.lc 25:16-25:19 'Float
96testdata/complex.lc 25:28-25:31 'Bool 134testdata/complex.lc 25:23-25:31 'Bool
135testdata/complex.lc 25:23-25:24 'VecScalar V1 V2
136testdata/complex.lc 25:23-25:24 'Float
97testdata/complex.lc 25:28-25:31 'Float 137testdata/complex.lc 25:28-25:31 'Float
138testdata/complex.lc 25:37-25:63 V0
98testdata/complex.lc 25:37-25:42 'Float -> 'Float -> 'Complex Polar 139testdata/complex.lc 25:37-25:42 'Float -> 'Float -> 'Complex Polar
140testdata/complex.lc 25:43-25:44 'Float
99testdata/complex.lc 25:46-25:63 'Float 141testdata/complex.lc 25:46-25:63 'Float
100testdata/complex.lc 25:46-25:50 V1 142testdata/complex.lc 25:46-25:57 V1
101testdata/complex.lc 25:46-25:50 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 143testdata/complex.lc 25:46-25:50 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
144testdata/complex.lc 25:52-25:57 'VecScalar V0 'Float
145testdata/complex.lc 25:52-25:53 'VecScalar V1 V2
146testdata/complex.lc 25:52-25:53 'Float
147testdata/complex.lc 25:56-25:57 'Float
102testdata/complex.lc 25:61-25:63 'Float 148testdata/complex.lc 25:61-25:63 'Float
149testdata/complex.lc 26:8-29:17 'Complex Polar
103testdata/complex.lc 26:8-29:17 {a} -> 'Bool -> a -> a->a 150testdata/complex.lc 26:8-29:17 {a} -> 'Bool -> a -> a->a
104testdata/complex.lc 26:16-26:31 'Bool 151testdata/complex.lc 26:11-26:31 'Bool
105testdata/complex.lc 26:16-26:19 'Bool 152testdata/complex.lc 26:11-26:19 'Bool
153testdata/complex.lc 26:11-26:12 'VecScalar V1 V2
154testdata/complex.lc 26:11-26:12 'Float
106testdata/complex.lc 26:16-26:19 'Float 155testdata/complex.lc 26:16-26:19 'Float
107testdata/complex.lc 26:28-26:31 'Bool 156testdata/complex.lc 26:23-26:31 'Bool
157testdata/complex.lc 26:23-26:24 'VecScalar V1 V2
158testdata/complex.lc 26:23-26:24 'Float
108testdata/complex.lc 26:28-26:31 'Float 159testdata/complex.lc 26:28-26:31 'Float
160testdata/complex.lc 26:37-26:63 V0
109testdata/complex.lc 26:37-26:42 'Float -> 'Float -> 'Complex Polar 161testdata/complex.lc 26:37-26:42 'Float -> 'Float -> 'Complex Polar
162testdata/complex.lc 26:43-26:44 'Float
110testdata/complex.lc 26:46-26:63 'Float 163testdata/complex.lc 26:46-26:63 'Float
111testdata/complex.lc 26:46-26:50 V1 164testdata/complex.lc 26:46-26:57 V1
112testdata/complex.lc 26:46-26:50 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 165testdata/complex.lc 26:46-26:50 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
166testdata/complex.lc 26:52-26:57 'VecScalar V0 'Float
167testdata/complex.lc 26:52-26:53 'VecScalar V1 V2
168testdata/complex.lc 26:52-26:53 'Float
169testdata/complex.lc 26:56-26:57 'Float
113testdata/complex.lc 26:61-26:63 'Float 170testdata/complex.lc 26:61-26:63 'Float
171testdata/complex.lc 27:8-29:17 'Complex Polar
114testdata/complex.lc 27:8-29:17 {a} -> 'Bool -> a -> a->a 172testdata/complex.lc 27:8-29:17 {a} -> 'Bool -> a -> a->a
115testdata/complex.lc 27:16-27:31 'Bool 173testdata/complex.lc 27:11-27:31 'Bool
116testdata/complex.lc 27:16-27:19 'Bool 174testdata/complex.lc 27:11-27:19 'Bool
175testdata/complex.lc 27:11-27:12 V0
176testdata/complex.lc 27:11-27:12 'Float
117testdata/complex.lc 27:16-27:19 'Float 177testdata/complex.lc 27:16-27:19 'Float
118testdata/complex.lc 27:28-27:31 'Bool 178testdata/complex.lc 27:23-27:31 'Bool
179testdata/complex.lc 27:23-27:24 'VecScalar V1 V2
180testdata/complex.lc 27:23-27:24 'Float
119testdata/complex.lc 27:28-27:31 'Float 181testdata/complex.lc 27:28-27:31 'Float
182testdata/complex.lc 27:37-27:55 V0
120testdata/complex.lc 27:37-27:42 'Float -> 'Float -> 'Complex Polar 183testdata/complex.lc 27:37-27:42 'Float -> 'Float -> 'Complex Polar
184testdata/complex.lc 27:43-27:44 'Float
121testdata/complex.lc 27:47-27:55 'Float 185testdata/complex.lc 27:47-27:55 'Float
122testdata/complex.lc 27:47-27:49 'VecScalar V1 V2 186testdata/complex.lc 27:47-27:49 'VecScalar V1 V2
123testdata/complex.lc 27:47-27:49 'Float 187testdata/complex.lc 27:47-27:49 'Float
124testdata/complex.lc 27:52-27:55 'Float 188testdata/complex.lc 27:52-27:55 'Float
189testdata/complex.lc 28:8-29:17 'Complex Polar
125testdata/complex.lc 28:8-29:17 {a} -> 'Bool -> a -> a->a 190testdata/complex.lc 28:8-29:17 {a} -> 'Bool -> a -> a->a
126testdata/complex.lc 28:16-28:31 'Bool 191testdata/complex.lc 28:11-28:31 'Bool
127testdata/complex.lc 28:16-28:19 'Bool 192testdata/complex.lc 28:11-28:19 'Bool
193testdata/complex.lc 28:11-28:12 V0
194testdata/complex.lc 28:11-28:12 'Float
128testdata/complex.lc 28:16-28:19 'Float 195testdata/complex.lc 28:16-28:19 'Float
129testdata/complex.lc 28:28-28:31 'Bool 196testdata/complex.lc 28:23-28:31 'Bool
197testdata/complex.lc 28:23-28:24 'VecScalar V1 V2
198testdata/complex.lc 28:23-28:24 'Float
130testdata/complex.lc 28:28-28:31 'Float 199testdata/complex.lc 28:28-28:31 'Float
200testdata/complex.lc 28:37-28:55 V0
131testdata/complex.lc 28:37-28:42 'Float -> 'Float -> 'Complex Polar 201testdata/complex.lc 28:37-28:42 'Float -> 'Float -> 'Complex Polar
202testdata/complex.lc 28:43-28:44 'Float
132testdata/complex.lc 28:46-28:55 'Float 203testdata/complex.lc 28:46-28:55 'Float
133testdata/complex.lc 28:46-28:55 V1 204testdata/complex.lc 28:46-28:55 V1
134testdata/complex.lc 28:46-28:55 'Int 205testdata/complex.lc 28:46-28:55 'Int
@@ -146,20 +217,35 @@ testdata/complex.lc 64:21-64:26 'Repr
146testdata/complex.lc 64:30-64:44 Type 217testdata/complex.lc 64:30-64:44 Type
147testdata/complex.lc 64:30-64:37 'Repr->Type 218testdata/complex.lc 64:30-64:37 'Repr->Type
148testdata/complex.lc 64:38-64:44 'Repr 219testdata/complex.lc 64:38-64:44 'Repr
149testdata/complex.lc 65:19-65:58 'Complex Polar -> 'Complex Normal 220testdata/complex.lc 65:19-65:62 'Complex Polar -> 'Complex Normal
150testdata/complex.lc 65:19-65:58 'Complex Normal 221testdata/complex.lc 65:19-65:62 'Complex Normal
151testdata/complex.lc 65:28-65:58 {a:'Repr} -> 'Float -> 'Float->V3 222testdata/complex.lc 65:28-65:62 {a:'Repr} -> 'Float -> 'Float->V3
152testdata/complex.lc 65:28-65:58 'Float -> 'Float->V3 223testdata/complex.lc 65:28-65:62 'Float -> 'Float->V3
153testdata/complex.lc 65:28-65:58 'Float->V3 224testdata/complex.lc 65:28-65:62 'Float->V3
154testdata/complex.lc 65:28-65:58 V3 225testdata/complex.lc 65:28-65:62 V3
155testdata/complex.lc 65:28-65:35 {a:'Repr} -> 'Float -> 'Float -> 'Complex a 226testdata/complex.lc 65:28-65:35 {a:'Repr} -> 'Float -> 'Float -> 'Complex a
156testdata/complex.lc 65:41-65:44 'Float 227testdata/complex.lc 65:37-65:48 'Float
228testdata/complex.lc 65:37-65:38 V1
229testdata/complex.lc 65:37-65:38 'Float
230testdata/complex.lc 65:41-65:48 'Float
157testdata/complex.lc 65:41-65:44 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 231testdata/complex.lc 65:41-65:44 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
158testdata/complex.lc 65:55-65:58 'Float 232testdata/complex.lc 65:45-65:48 'VecScalar V0 'Float
233testdata/complex.lc 65:45-65:48 'Float
234testdata/complex.lc 65:51-65:62 'Float
235testdata/complex.lc 65:51-65:52 V1
236testdata/complex.lc 65:51-65:52 'Float
237testdata/complex.lc 65:55-65:62 'Float
159testdata/complex.lc 65:55-65:58 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a 238testdata/complex.lc 65:55-65:58 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a
239testdata/complex.lc 65:59-65:62 'VecScalar V0 'Float
240testdata/complex.lc 65:59-65:62 'Float
160testdata/complex.lc 65:19-65:24 'Complex V0 241testdata/complex.lc 65:19-65:24 'Complex V0
161testdata/complex.lc 65:19-65:24 'Complex Polar 242testdata/complex.lc 65:19-65:24 'Complex Polar
162testdata/complex.lc 65:1-65:9 'Complex Polar -> 'Complex Normal 243testdata/complex.lc 65:1-65:9 'Complex Polar -> 'Complex Normal
244testdata/complex.lc 111:38-111:39 {a:'Repr} -> 'Float -> 'Float->V3
245testdata/complex.lc 111:38-111:39 'Float -> 'Float->V3
246testdata/complex.lc 111:38-111:39 'Float->V3
247testdata/complex.lc 111:38-111:39 V3
248testdata/complex.lc 111:38-111:39 'Float
163testdata/complex.lc 111:25-111:34 'Complex V0 249testdata/complex.lc 111:25-111:34 'Complex V0
164testdata/complex.lc 111:25-111:34 V2 250testdata/complex.lc 111:25-111:34 V2
165testdata/complex.lc 111:1-111:15 {a:'Repr} -> 'Complex a -> 'Float 251testdata/complex.lc 111:1-111:15 {a:'Repr} -> 'Complex a -> 'Float
@@ -174,22 +260,30 @@ testdata/complex.lc 113:54-113:56 V2
174testdata/complex.lc 113:60-113:70 Type 260testdata/complex.lc 113:60-113:70 Type
175testdata/complex.lc 113:60-113:67 'Repr->Type 261testdata/complex.lc 113:60-113:67 'Repr->Type
176testdata/complex.lc 113:68-113:70 'Repr 262testdata/complex.lc 113:68-113:70 'Repr
177testdata/complex.lc 114:6-114:58 {a:'Repr} -> {b:'Repr} -> 'Complex a -> 'Complex b -> 'Complex a 263testdata/complex.lc 114:6-114:73 {a:'Repr} -> {b:'Repr} -> 'Complex a -> 'Complex b -> 'Complex a
178testdata/complex.lc 114:6-114:58 {a:'Repr} -> 'Complex V1 -> 'Complex a -> 'Complex V3 264testdata/complex.lc 114:6-114:73 {a:'Repr} -> 'Complex V1 -> 'Complex a -> 'Complex V3
179testdata/complex.lc 114:6-114:58 'Complex V1 -> 'Complex V1 -> 'Complex V3 265testdata/complex.lc 114:6-114:73 'Complex V1 -> 'Complex V1 -> 'Complex V3
180testdata/complex.lc 114:6-114:58 'Complex V1 -> 'Complex V3 266testdata/complex.lc 114:6-114:73 'Complex V1 -> 'Complex V3
181testdata/complex.lc 114:6-114:58 'Complex V3 267testdata/complex.lc 114:6-114:73 'Complex V3
182testdata/complex.lc 114:14-114:58 V0 268testdata/complex.lc 114:14-114:73 V0
183testdata/complex.lc 114:30-114:58 V0 269testdata/complex.lc 114:30-114:73 V0
184testdata/complex.lc 114:44-114:58 {a:'Repr} -> 'Float -> 'Float->V3 270testdata/complex.lc 114:44-114:73 {a:'Repr} -> 'Float -> 'Float->V3
185testdata/complex.lc 114:44-114:58 'Float -> 'Float->V3 271testdata/complex.lc 114:44-114:73 'Float -> 'Float->V3
186testdata/complex.lc 114:44-114:58 'Float->V3 272testdata/complex.lc 114:44-114:73 'Float->V3
187testdata/complex.lc 114:44-114:58 V3 273testdata/complex.lc 114:44-114:73 V3
188testdata/complex.lc 114:51-114:58 {a:'Repr} -> 'Float -> 'Float->V3 274testdata/complex.lc 114:51-114:73 {a:'Repr} -> 'Float -> 'Float->V3
189testdata/complex.lc 114:51-114:58 'Float -> 'Float->V3 275testdata/complex.lc 114:51-114:73 'Float -> 'Float->V3
190testdata/complex.lc 114:51-114:58 'Float->V3 276testdata/complex.lc 114:51-114:73 'Float->V3
191testdata/complex.lc 114:51-114:58 V3 277testdata/complex.lc 114:51-114:73 V3
192testdata/complex.lc 114:51-114:58 {a:'Repr} -> 'Float -> 'Float -> 'Complex a 278testdata/complex.lc 114:51-114:58 {a:'Repr} -> 'Float -> 'Float -> 'Complex a
279testdata/complex.lc 114:60-114:65 'Float
280testdata/complex.lc 114:60-114:61 V1
281testdata/complex.lc 114:60-114:61 'Float
282testdata/complex.lc 114:64-114:65 'Float
283testdata/complex.lc 114:68-114:73 'Float
284testdata/complex.lc 114:68-114:69 V1
285testdata/complex.lc 114:68-114:69 'Float
286testdata/complex.lc 114:72-114:73 'Float
193testdata/complex.lc 114:44-114:47 'Complex V0 287testdata/complex.lc 114:44-114:47 'Complex V0
194testdata/complex.lc 114:44-114:47 'Complex V10 288testdata/complex.lc 114:44-114:47 'Complex V10
195testdata/complex.lc 114:30-114:33 'Complex V0 289testdata/complex.lc 114:30-114:33 'Complex V0
@@ -208,22 +302,40 @@ testdata/complex.lc 128:45-128:47 V2
208testdata/complex.lc 128:51-128:61 Type 302testdata/complex.lc 128:51-128:61 Type
209testdata/complex.lc 128:51-128:58 'Repr->Type 303testdata/complex.lc 128:51-128:58 'Repr->Type
210testdata/complex.lc 128:59-128:61 'Repr 304testdata/complex.lc 128:59-128:61 'Repr
211testdata/complex.lc 129:6-129:58 {a:'Repr} -> {b:'Repr} -> 'Complex a -> 'Complex b -> 'Complex a 305testdata/complex.lc 129:6-129:81 {a:'Repr} -> {b:'Repr} -> 'Complex a -> 'Complex b -> 'Complex a
212testdata/complex.lc 129:6-129:58 {a:'Repr} -> 'Complex V1 -> 'Complex a -> 'Complex V3 306testdata/complex.lc 129:6-129:81 {a:'Repr} -> 'Complex V1 -> 'Complex a -> 'Complex V3
213testdata/complex.lc 129:6-129:58 'Complex V1 -> 'Complex V1 -> 'Complex V3 307testdata/complex.lc 129:6-129:81 'Complex V1 -> 'Complex V1 -> 'Complex V3
214testdata/complex.lc 129:6-129:58 'Complex V1 -> 'Complex V3 308testdata/complex.lc 129:6-129:81 'Complex V1 -> 'Complex V3
215testdata/complex.lc 129:6-129:58 'Complex V3 309testdata/complex.lc 129:6-129:81 'Complex V3
216testdata/complex.lc 129:14-129:58 V0 310testdata/complex.lc 129:14-129:81 V0
217testdata/complex.lc 129:30-129:58 V0 311testdata/complex.lc 129:30-129:81 V0
218testdata/complex.lc 129:44-129:58 {a:'Repr} -> 'Float -> 'Float->V3 312testdata/complex.lc 129:44-129:81 {a:'Repr} -> 'Float -> 'Float->V3
219testdata/complex.lc 129:44-129:58 'Float -> 'Float->V3 313testdata/complex.lc 129:44-129:81 'Float -> 'Float->V3
220testdata/complex.lc 129:44-129:58 'Float->V3 314testdata/complex.lc 129:44-129:81 'Float->V3
221testdata/complex.lc 129:44-129:58 V3 315testdata/complex.lc 129:44-129:81 V3
222testdata/complex.lc 129:51-129:58 {a:'Repr} -> 'Float -> 'Float->V3 316testdata/complex.lc 129:51-129:81 {a:'Repr} -> 'Float -> 'Float->V3
223testdata/complex.lc 129:51-129:58 'Float -> 'Float->V3 317testdata/complex.lc 129:51-129:81 'Float -> 'Float->V3
224testdata/complex.lc 129:51-129:58 'Float->V3 318testdata/complex.lc 129:51-129:81 'Float->V3
225testdata/complex.lc 129:51-129:58 V3 319testdata/complex.lc 129:51-129:81 V3
226testdata/complex.lc 129:51-129:58 {a:'Repr} -> 'Float -> 'Float -> 'Complex a 320testdata/complex.lc 129:51-129:58 {a:'Repr} -> 'Float -> 'Float -> 'Complex a
321testdata/complex.lc 129:60-129:69 'Float
322testdata/complex.lc 129:60-129:63 V1
323testdata/complex.lc 129:60-129:61 V1
324testdata/complex.lc 129:60-129:61 'Float
325testdata/complex.lc 129:62-129:63 'Float
326testdata/complex.lc 129:66-129:69 'Float
327testdata/complex.lc 129:66-129:67 V1
328testdata/complex.lc 129:66-129:67 'Float
329testdata/complex.lc 129:68-129:69 'Float
330testdata/complex.lc 129:72-129:81 'Float
331testdata/complex.lc 129:72-129:75 V1
332testdata/complex.lc 129:72-129:73 V1
333testdata/complex.lc 129:72-129:73 'Float
334testdata/complex.lc 129:74-129:75 'Float
335testdata/complex.lc 129:78-129:81 'Float
336testdata/complex.lc 129:78-129:79 V1
337testdata/complex.lc 129:78-129:79 'Float
338testdata/complex.lc 129:80-129:81 'Float
227testdata/complex.lc 129:44-129:47 'Complex V0 339testdata/complex.lc 129:44-129:47 'Complex V0
228testdata/complex.lc 129:44-129:47 'Complex V10 340testdata/complex.lc 129:44-129:47 'Complex V10
229testdata/complex.lc 129:30-129:33 'Complex V0 341testdata/complex.lc 129:30-129:33 'Complex V0
@@ -233,27 +345,40 @@ testdata/complex.lc 129:6-129:12 'Repr
233testdata/complex.lc 129:1-129:4 {a:'Repr} -> {b:'Repr} -> 'Complex a -> 'Complex b -> 'Complex a 345testdata/complex.lc 129:1-129:4 {a:'Repr} -> {b:'Repr} -> 'Complex a -> 'Complex b -> 'Complex a
234testdata/complex.lc 137:6-137:28 Type 346testdata/complex.lc 137:6-137:28 Type
235testdata/complex.lc 137:6-137:13 'Repr->Type 347testdata/complex.lc 137:6-137:13 'Repr->Type
236testdata/complex.lc 137:6-137:28 'Repr 348testdata/complex.lc 137:14-137:15 'Repr
237testdata/complex.lc 137:6-137:28 V1 349testdata/complex.lc 137:14-137:15 V1
350testdata/complex.lc 137:19-137:28 Type
238testdata/complex.lc 137:19-137:26 'Repr->Type 351testdata/complex.lc 137:19-137:26 'Repr->Type
239testdata/complex.lc 138:8-138:11 {a:'Repr} -> 'Complex a -> 'Complex a 352testdata/complex.lc 137:27-137:28 'Repr
240testdata/complex.lc 138:8-138:11 'Complex V0 -> 'Complex V1 353testdata/complex.lc 138:8-138:24 {a:'Repr} -> 'Complex a -> 'Complex a
241testdata/complex.lc 138:8-138:11 'Complex V1 354testdata/complex.lc 138:8-138:24 'Complex V0 -> 'Complex V1
355testdata/complex.lc 138:8-138:24 'Complex V1
356testdata/complex.lc 138:8-138:15 'Complex V1
242testdata/complex.lc 138:8-138:11 {a:'Repr} -> {b:'Repr} -> 'Complex a -> 'Complex b -> 'Complex a 357testdata/complex.lc 138:8-138:11 {a:'Repr} -> {b:'Repr} -> 'Complex a -> 'Complex b -> 'Complex a
358testdata/complex.lc 138:12-138:13 'Complex V1
359testdata/complex.lc 138:12-138:13 'Complex V5
360testdata/complex.lc 138:14-138:15 'Complex V0
361testdata/complex.lc 138:14-138:15 'Complex V3
362testdata/complex.lc 138:23-138:24 'Complex V0
363testdata/complex.lc 138:23-138:24 'Complex V2
243testdata/complex.lc 138:1-138:2 {a:'Repr} -> 'Complex a -> 'Complex a 364testdata/complex.lc 138:1-138:2 {a:'Repr} -> 'Complex a -> 'Complex a
244testdata/complex.lc 141:8-141:9 {a:'Repr} -> 'Complex a -> 'Complex a 365testdata/complex.lc 141:8-141:9 {a:'Repr} -> 'Complex a -> 'Complex a
245testdata/complex.lc 141:11-141:18 'Complex V0 366testdata/complex.lc 141:11-141:20 'Complex V0
246testdata/complex.lc 141:11-141:12 {a:'Repr} -> 'Complex a -> 'Complex a 367testdata/complex.lc 141:11-141:12 {a:'Repr} -> 'Complex a -> 'Complex a
247testdata/complex.lc 141:14-141:18 'Complex V0 368testdata/complex.lc 141:14-141:20 'Complex V0
248testdata/complex.lc 141:14-141:15 {a:'Repr} -> 'Complex a -> 'Complex a 369testdata/complex.lc 141:14-141:15 {a:'Repr} -> 'Complex a -> 'Complex a
249testdata/complex.lc 141:17-141:18 'Complex V0 370testdata/complex.lc 141:17-141:20 'Complex V0
250testdata/complex.lc 141:17-141:18 {a:'Repr} -> 'Complex a -> 'Complex a 371testdata/complex.lc 141:17-141:18 {a:'Repr} -> 'Complex a -> 'Complex a
372testdata/complex.lc 141:19-141:20 'Complex V0
373testdata/complex.lc 141:19-141:20 V5
251testdata/complex.lc 141:1-141:3 {a:'Repr} -> 'Complex a -> 'Complex a 374testdata/complex.lc 141:1-141:3 {a:'Repr} -> 'Complex a -> 'Complex a
252testdata/complex.lc 143:8-143:10 {a:'Repr} -> 'Complex a -> 'Complex a 375testdata/complex.lc 143:8-143:10 {a:'Repr} -> 'Complex a -> 'Complex a
253testdata/complex.lc 143:1-143:5 {a:'Repr} -> 'Complex a -> 'Complex a 376testdata/complex.lc 143:1-143:5 {a:'Repr} -> 'Complex a -> 'Complex a
254testdata/complex.lc 145:12-145:22 'VecScalar V1 V2 377testdata/complex.lc 145:12-145:24 'VecScalar V1 V2
255testdata/complex.lc 145:12-145:16 {a:'Repr} -> 'Complex a -> 'Float 378testdata/complex.lc 145:12-145:16 {a:'Repr} -> 'Complex a -> 'Float
256testdata/complex.lc 145:18-145:22 'Complex V0 379testdata/complex.lc 145:18-145:24 'Complex V0
257testdata/complex.lc 145:18-145:22 {a:'Repr} -> 'Complex a -> 'Complex a 380testdata/complex.lc 145:18-145:22 {a:'Repr} -> 'Complex a -> 'Complex a
381testdata/complex.lc 145:23-145:24 'Complex V0
382testdata/complex.lc 145:23-145:24 V6
258testdata/complex.lc 145:28-145:31 'Float 383testdata/complex.lc 145:28-145:31 'Float
259testdata/complex.lc 145:1-145:7 {a:'Repr} -> 'Complex a -> 'Bool 384testdata/complex.lc 145:1-145:7 {a:'Repr} -> 'Complex a -> 'Bool
diff --git a/testdata/id.out b/testdata/id.out
index 444b7deb..cc5dda6b 100644
--- a/testdata/id.out
+++ b/testdata/id.out
@@ -2,10 +2,11 @@ main is not found
2tooltips: 2tooltips:
3testdata/id.lc 3:19-3:20 V1 3testdata/id.lc 3:19-3:20 V1
4testdata/id.lc 4:8-4:27 {a} -> {b} -> a -> b -> 'Tuple2 a b 4testdata/id.lc 4:8-4:27 {a} -> {b} -> a -> b -> 'Tuple2 a b
5testdata/id.lc 4:8-4:27 V1 5testdata/id.lc 4:9-4:16 V1
6testdata/id.lc 4:8-4:27 {a} -> a->a 6testdata/id.lc 4:9-4:12 {a} -> a->a
7testdata/id.lc 4:13-4:16 V0 7testdata/id.lc 4:13-4:16 V0
8testdata/id.lc 4:13-4:16 'Float 8testdata/id.lc 4:13-4:16 'Float
9testdata/id.lc 4:8-4:27 V0 9testdata/id.lc 4:18-4:26 V0
10testdata/id.lc 4:18-4:21 {a} -> a->a
10testdata/id.lc 4:22-4:26 V0 11testdata/id.lc 4:22-4:26 V0
11testdata/id.lc 4:22-4:26 'Bool 12testdata/id.lc 4:22-4:26 'Bool
diff --git a/testdata/instantiate.out b/testdata/instantiate.out
index ccebbfb4..c2d33b93 100644
--- a/testdata/instantiate.out
+++ b/testdata/instantiate.out
@@ -1,7 +1,7 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/instantiate.lc 2:13-2:20 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 3testdata/instantiate.lc 2:13-2:20 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
4testdata/instantiate.lc 2:24-2:50 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a 4testdata/instantiate.lc 2:24-2:25 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a
5testdata/instantiate.lc 2:27-2:37 V1 5testdata/instantiate.lc 2:27-2:37 V1
6testdata/instantiate.lc 2:27-2:29 {a} -> a -> a -> 'VecS a (Succ (Succ Zero)) 6testdata/instantiate.lc 2:27-2:29 {a} -> a -> a -> 'VecS a (Succ (Succ Zero))
7testdata/instantiate.lc 2:30-2:33 V0 7testdata/instantiate.lc 2:30-2:33 V0
diff --git a/testdata/language-features/basic-values/case05.out b/testdata/language-features/basic-values/case05.out
index d9414dfb..52e0011c 100644
--- a/testdata/language-features/basic-values/case05.out
+++ b/testdata/language-features/basic-values/case05.out
@@ -4,3 +4,5 @@ testdata/language-features/basic-values/case05.lc 2:8-2:11 V0
4testdata/language-features/basic-values/case05.lc 2:8-2:11 'Char 4testdata/language-features/basic-values/case05.lc 2:8-2:11 'Char
5testdata/language-features/basic-values/case05.lc 2:3-2:4 'Ordering 5testdata/language-features/basic-values/case05.lc 2:3-2:4 'Ordering
6testdata/language-features/basic-values/case05.lc 2:3-2:4 'Int 6testdata/language-features/basic-values/case05.lc 2:3-2:4 'Int
7testdata/language-features/basic-values/case05.lc 1:16-1:17 'Int
8testdata/language-features/basic-values/case05.lc 1:16-1:17 V1
diff --git a/testdata/language-features/basic-values/case06.out b/testdata/language-features/basic-values/case06.out
index 23ab9c12..bea9e236 100644
--- a/testdata/language-features/basic-values/case06.out
+++ b/testdata/language-features/basic-values/case06.out
@@ -5,3 +5,5 @@ testdata/language-features/basic-values/case06.lc 3:8-3:11 'Char
5testdata/language-features/basic-values/case06.lc 2:8-2:11 'Char 5testdata/language-features/basic-values/case06.lc 2:8-2:11 'Char
6testdata/language-features/basic-values/case06.lc 2:3-2:4 'Ordering 6testdata/language-features/basic-values/case06.lc 2:3-2:4 'Ordering
7testdata/language-features/basic-values/case06.lc 2:3-2:4 'Int 7testdata/language-features/basic-values/case06.lc 2:3-2:4 'Int
8testdata/language-features/basic-values/case06.lc 1:16-1:17 'Int
9testdata/language-features/basic-values/case06.lc 1:16-1:17 V1
diff --git a/testdata/language-features/basic-values/deforder03.out b/testdata/language-features/basic-values/deforder03.out
index f13b51ff..dd51c6dd 100644
--- a/testdata/language-features/basic-values/deforder03.out
+++ b/testdata/language-features/basic-values/deforder03.out
@@ -1,5 +1,5 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/language-features/basic-values/deforder03.lc 1:17-1:19 'Tuple0 3testdata/language-features/basic-values/deforder03.lc 1:17-1:19 'Tuple0
4testdata/language-features/basic-values/deforder03.lc 2:17-3:15 'Tuple0 4testdata/language-features/basic-values/deforder03.lc 2:17-2:18 'Tuple0
5testdata/language-features/basic-values/deforder03.lc 3:12-3:15 'Char 5testdata/language-features/basic-values/deforder03.lc 3:12-3:15 'Char
diff --git a/testdata/language-features/basic-values/deforder06.out b/testdata/language-features/basic-values/deforder06.out
index 3570e85e..8883f385 100644
--- a/testdata/language-features/basic-values/deforder06.out
+++ b/testdata/language-features/basic-values/deforder06.out
@@ -1,5 +1,5 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/language-features/basic-values/deforder06.lc 1:23-1:25 'Tuple0 3testdata/language-features/basic-values/deforder06.lc 1:23-1:25 'Tuple0
4testdata/language-features/basic-values/deforder06.lc 1:9-2:24 'Tuple0 4testdata/language-features/basic-values/deforder06.lc 2:23-2:24 'Tuple0
5testdata/language-features/basic-values/deforder06.lc 1:9-1:12 'Char 5testdata/language-features/basic-values/deforder06.lc 1:9-1:12 'Char
diff --git a/testdata/language-features/basic-values/lambda03.out b/testdata/language-features/basic-values/lambda03.out
index 05a2b356..8ebe69ef 100644
--- a/testdata/language-features/basic-values/lambda03.out
+++ b/testdata/language-features/basic-values/lambda03.out
@@ -1,4 +1,5 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/language-features/basic-values/lambda03.lc 1:22-1:23 V3 3testdata/language-features/basic-values/lambda03.lc 1:22-1:23 V3
4testdata/language-features/basic-values/lambda03.lc 2:25-2:26 V7
4testdata/language-features/basic-values/lambda03.lc 2:1-2:5 {a} -> {b} -> {c} -> {d} -> a -> b -> c -> d->a 5testdata/language-features/basic-values/lambda03.lc 2:1-2:5 {a} -> {b} -> {c} -> {d} -> a -> b -> c -> d->a
diff --git a/testdata/language-features/basic-values/shadowing02.out b/testdata/language-features/basic-values/shadowing02.out
index c21bfda2..71b65252 100644
--- a/testdata/language-features/basic-values/shadowing02.out
+++ b/testdata/language-features/basic-values/shadowing02.out
@@ -11,7 +11,7 @@ testdata/language-features/basic-values/shadowing02.lc 9:17-9:21 'Float
11testdata/language-features/basic-values/shadowing02.lc 10:25-10:27 'Tuple0 11testdata/language-features/basic-values/shadowing02.lc 10:25-10:27 'Tuple0
12testdata/language-features/basic-values/shadowing02.lc 11:25-11:28 'Char 12testdata/language-features/basic-values/shadowing02.lc 11:25-11:28 'Char
13testdata/language-features/basic-values/shadowing02.lc 12:25-12:29 'Float 13testdata/language-features/basic-values/shadowing02.lc 12:25-12:29 'Float
14testdata/language-features/basic-values/shadowing02.lc 8:17-16:9 {a} -> {b : 'Num a}->a 14testdata/language-features/basic-values/shadowing02.lc 13:25-13:26 {a} -> {b : 'Num a}->a
15testdata/language-features/basic-values/shadowing02.lc 14:20-14:25 'String 15testdata/language-features/basic-values/shadowing02.lc 14:20-14:25 'String
16testdata/language-features/basic-values/shadowing02.lc 15:14-15:16 'Tuple0 16testdata/language-features/basic-values/shadowing02.lc 15:14-15:16 'Tuple0
17testdata/language-features/basic-values/shadowing02.lc 16:6-16:9 'Char 17testdata/language-features/basic-values/shadowing02.lc 16:6-16:9 'Char
diff --git a/testdata/language-features/basic-values/typesig03.out b/testdata/language-features/basic-values/typesig03.out
index f540fdbe..0b1228aa 100644
--- a/testdata/language-features/basic-values/typesig03.out
+++ b/testdata/language-features/basic-values/typesig03.out
@@ -1,9 +1,11 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/language-features/basic-values/typesig03.lc 1:9-1:26 Type 3testdata/language-features/basic-values/typesig03.lc 1:9-1:26 Type
4testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V5 4testdata/language-features/basic-values/typesig03.lc 1:9-1:10 V5
5testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V4 5testdata/language-features/basic-values/typesig03.lc 1:14-1:26 Type
6testdata/language-features/basic-values/typesig03.lc 1:9-1:26 V3 6testdata/language-features/basic-values/typesig03.lc 1:14-1:15 V4
7testdata/language-features/basic-values/typesig03.lc 1:19-1:26 Type
8testdata/language-features/basic-values/typesig03.lc 1:19-1:20 V3
7testdata/language-features/basic-values/typesig03.lc 1:24-1:26 Type 9testdata/language-features/basic-values/typesig03.lc 1:24-1:26 Type
8testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0 10testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0
9testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> {b} -> V2 -> a -> b->'Tuple0 11testdata/language-features/basic-values/typesig03.lc 2:14-2:16 {a} -> {b} -> V2 -> a -> b->'Tuple0
@@ -14,9 +16,11 @@ testdata/language-features/basic-values/typesig03.lc 2:14-2:16 V2->'Tuple0
14testdata/language-features/basic-values/typesig03.lc 2:14-2:16 'Tuple0 16testdata/language-features/basic-values/typesig03.lc 2:14-2:16 'Tuple0
15testdata/language-features/basic-values/typesig03.lc 2:1-2:5 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0 17testdata/language-features/basic-values/typesig03.lc 2:1-2:5 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0
16testdata/language-features/basic-values/typesig03.lc 4:7-4:18 Type 18testdata/language-features/basic-values/typesig03.lc 4:7-4:18 Type
17testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V5 19testdata/language-features/basic-values/typesig03.lc 4:7-4:8 V5
18testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V4 20testdata/language-features/basic-values/typesig03.lc 4:10-4:18 Type
19testdata/language-features/basic-values/typesig03.lc 4:7-4:18 V3 21testdata/language-features/basic-values/typesig03.lc 4:10-4:11 V4
22testdata/language-features/basic-values/typesig03.lc 4:13-4:18 Type
23testdata/language-features/basic-values/typesig03.lc 4:13-4:14 V3
20testdata/language-features/basic-values/typesig03.lc 4:16-4:18 Type 24testdata/language-features/basic-values/typesig03.lc 4:16-4:18 Type
21testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0 25testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> {b} -> {c} -> a -> b -> c->'Tuple0
22testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> {b} -> V2 -> a -> b->'Tuple0 26testdata/language-features/basic-values/typesig03.lc 5:14-5:16 {a} -> {b} -> V2 -> a -> b->'Tuple0
diff --git a/testdata/let.out b/testdata/let.out
index 19ee9846..250bb863 100644
--- a/testdata/let.out
+++ b/testdata/let.out
@@ -1,5 +1,7 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/let.lc 2:15-2:17 {a} -> a->a 3testdata/let.lc 2:15-2:17 {a} -> a->a
4testdata/let.lc 2:18-2:19 V0
5testdata/let.lc 2:18-2:19 V2
4testdata/let.lc 2:23-2:24 V2 6testdata/let.lc 2:23-2:24 V2
5testdata/let.lc 2:1-2:2 {a} -> a->a 7testdata/let.lc 2:1-2:2 {a} -> a->a
diff --git a/testdata/letIndent.out b/testdata/letIndent.out
index 347bfbb8..f99ad84d 100644
--- a/testdata/letIndent.out
+++ b/testdata/letIndent.out
@@ -2,4 +2,5 @@ main is not found
2tooltips: 2tooltips:
3testdata/letIndent.lc 3:10-3:11 'Int 3testdata/letIndent.lc 3:10-3:11 'Int
4testdata/letIndent.lc 4:10-4:11 'Int 4testdata/letIndent.lc 4:10-4:11 'Int
5testdata/letIndent.lc 5:7-5:8 V3
5testdata/letIndent.lc 2:1-2:4 {a} -> a->a 6testdata/letIndent.lc 2:1-2:4 {a} -> a->a
diff --git a/testdata/record01.reject.out b/testdata/record01.reject.out
index 6328d97a..84a36049 100644
--- a/testdata/record01.reject.out
+++ b/testdata/record01.reject.out
@@ -3,6 +3,6 @@ type error: can not unify
3with 3with
4'Float 4'Float
5 5
6in "testdata/record01.reject.lc" (line 25, column 11): 6in "testdata/record01.reject.lc" (line 26, column 15):
7 field = record.fieldA
8 in ScreenOut record.fieldA 7 in ScreenOut record.fieldA
8 ^^^^^^
diff --git a/testdata/traceTest.out b/testdata/traceTest.out
index 5512d82b..adbb4fa4 100644
--- a/testdata/traceTest.out
+++ b/testdata/traceTest.out
@@ -1,5 +1,6 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/traceTest.lc 6:8-6:9 V1
3testdata/traceTest.lc 6:1-6:3 {a} -> a->a 4testdata/traceTest.lc 6:1-6:3 {a} -> a->a
4testdata/traceTest.lc 8:17-8:18 Type 5testdata/traceTest.lc 8:17-8:18 Type
5testdata/traceTest.lc 8:6-8:7 {a} -> a->Type 6testdata/traceTest.lc 8:6-8:7 {a} -> a->Type
diff --git a/testdata/typeclass.out b/testdata/typeclass.out
index 02b9ed55..4f6c9ccc 100644
--- a/testdata/typeclass.out
+++ b/testdata/typeclass.out
@@ -16,9 +16,13 @@ testdata/typeclass.lc 10:5-10:9 V1
16testdata/typeclass.lc 10:1-10:4 'Bool->'Bool 16testdata/typeclass.lc 10:1-10:4 'Bool->'Bool
17testdata/typeclass.lc 14:14-14:19 V0 17testdata/typeclass.lc 14:14-14:19 V0
18testdata/typeclass.lc 14:14-14:19 'Bool 18testdata/typeclass.lc 14:14-14:19 'Bool
19testdata/typeclass.lc 13:13-13:14 'Bool
20testdata/typeclass.lc 13:13-13:14 V1
19testdata/typeclass.lc 13:1-13:5 'Bool 21testdata/typeclass.lc 13:1-13:5 'Bool
20testdata/typeclass.lc 13:1-13:5 V2 22testdata/typeclass.lc 13:1-13:5 V2
21testdata/typeclass.lc 13:6-13:8 'Bool -> 'Bool->'Bool 23testdata/typeclass.lc 13:6-13:8 'Bool -> 'Bool->'Bool
24testdata/typeclass.lc 16:14-16:15 V0
25testdata/typeclass.lc 16:14-16:15 V2
22testdata/typeclass.lc 17:13-17:17 V1 26testdata/typeclass.lc 17:13-17:17 V1
23testdata/typeclass.lc 17:13-17:17 'Bool 27testdata/typeclass.lc 17:13-17:17 'Bool
24testdata/typeclass.lc 16:1-16:6 'Bool 28testdata/typeclass.lc 16:1-16:6 'Bool
@@ -35,7 +39,8 @@ testdata/typeclass.lc 28:10-28:23 Type
35testdata/typeclass.lc 28:10-28:20 Type->Type 39testdata/typeclass.lc 28:10-28:20 Type->Type
36testdata/typeclass.lc 28:10-28:20 Type 40testdata/typeclass.lc 28:10-28:20 Type
37testdata/typeclass.lc 28:10-28:14 Type 41testdata/typeclass.lc 28:10-28:14 Type
38testdata/typeclass.lc 28:10-28:14 Type->Type 42testdata/typeclass.lc 28:10-28:12 Type->Type
43testdata/typeclass.lc 28:13-28:14 Type
39testdata/typeclass.lc 28:18-28:20 Type 44testdata/typeclass.lc 28:18-28:20 Type
40testdata/typeclass.lc 28:22-28:23 Type 45testdata/typeclass.lc 28:22-28:23 Type
41testdata/typeclass.lc 19:7-19:9 Type->Type 46testdata/typeclass.lc 19:7-19:9 Type->Type
@@ -50,12 +55,14 @@ testdata/typeclass.lc 20:18-20:19 Type
50testdata/typeclass.lc 20:23-20:27 Type 55testdata/typeclass.lc 20:23-20:27 Type
51testdata/typeclass.lc 24:13-32:25 {a} -> {b : 'Eq a} -> a -> a->'Bool 56testdata/typeclass.lc 24:13-32:25 {a} -> {b : 'Eq a} -> a -> a->'Bool
52testdata/typeclass.lc 24:13-32:25 {a : 'Eq V0} -> V1 -> V2->'Bool 57testdata/typeclass.lc 24:13-32:25 {a : 'Eq V0} -> V1 -> V2->'Bool
53testdata/typeclass.lc 25:5-26:21 {a:'Unit} -> 'Bool -> 'Bool->'Bool 58testdata/typeclass.lc 25:5-26:23 {a:'Unit} -> 'Bool -> 'Bool->'Bool
54testdata/typeclass.lc 25:5-26:21 'Bool -> 'Bool->'Bool 59testdata/typeclass.lc 25:5-26:23 'Bool -> 'Bool->'Bool
55testdata/typeclass.lc 25:5-26:21 'Bool->'Bool 60testdata/typeclass.lc 25:5-26:23 'Bool->'Bool
56testdata/typeclass.lc 25:5-26:21 'Bool 61testdata/typeclass.lc 25:5-26:23 'Bool
57testdata/typeclass.lc 26:18-26:21 V0 62testdata/typeclass.lc 26:18-26:23 V0
58testdata/typeclass.lc 26:18-26:21 'Bool->'Bool 63testdata/typeclass.lc 26:18-26:21 'Bool->'Bool
64testdata/typeclass.lc 26:22-26:23 'Bool
65testdata/typeclass.lc 25:17-25:18 'Bool
59testdata/typeclass.lc 25:5-25:9 'Bool 66testdata/typeclass.lc 25:5-25:9 'Bool
60testdata/typeclass.lc 28:22-32:25 {a : 'Eq V0} -> V1 -> V2->'Bool 67testdata/typeclass.lc 28:22-32:25 {a : 'Eq V0} -> V1 -> V2->'Bool
61testdata/typeclass.lc 29:20-32:25 a:Type -> {b : 'Eq a} -> 'List a -> 'List a -> 'Bool 68testdata/typeclass.lc 29:20-32:25 a:Type -> {b : 'Eq a} -> 'List a -> 'List a -> 'Bool
@@ -73,8 +80,20 @@ testdata/typeclass.lc 30:18-32:25 V0 -> 'List V1 -> 'Bool
73testdata/typeclass.lc 30:18-32:25 'List V1 -> 'Bool 80testdata/typeclass.lc 30:18-32:25 'List V1 -> 'Bool
74testdata/typeclass.lc 30:18-32:25 'Bool 81testdata/typeclass.lc 30:18-32:25 'Bool
75testdata/typeclass.lc 32:20-32:25 V0 82testdata/typeclass.lc 32:20-32:25 V0
83testdata/typeclass.lc 30:26-30:32 V0 -> 'List V1 -> 'Bool
84testdata/typeclass.lc 30:26-30:32 'List V1 -> 'Bool
85testdata/typeclass.lc 30:26-30:32 'Bool
86testdata/typeclass.lc 30:26-30:27 V1
87testdata/typeclass.lc 30:26-30:27 V7
88testdata/typeclass.lc 30:31-30:32 V6
89testdata/typeclass.lc 30:31-30:32 V3
76testdata/typeclass.lc 30:18-30:22 'List V3 90testdata/typeclass.lc 30:18-30:22 'List V3
77testdata/typeclass.lc 30:18-30:22 'List V7 91testdata/typeclass.lc 30:18-30:22 'List V7
78testdata/typeclass.lc 20:5-20:9 {a} -> {b : 'Eq a} -> a -> a->'Bool 92testdata/typeclass.lc 20:5-20:9 {a} -> {b : 'Eq a} -> a -> a->'Bool
79testdata/typeclass.lc 22:10-22:13 'Bool->'Bool 93testdata/typeclass.lc 22:10-22:13 'Bool->'Bool
94testdata/typeclass.lc 22:15-22:21 'Bool
95testdata/typeclass.lc 22:15-22:16 V1
96testdata/typeclass.lc 22:15-22:16 V5
97testdata/typeclass.lc 22:20-22:21 V4
98testdata/typeclass.lc 22:20-22:21 V2
80testdata/typeclass.lc 22:3-22:5 {a} -> {b : 'Eq a} -> a -> a->'Bool 99testdata/typeclass.lc 22:3-22:5 {a} -> {b : 'Eq a} -> a -> a->'Bool
diff --git a/testdata/zip01.out b/testdata/zip01.out
index a3c1bbcd..50befb68 100644
--- a/testdata/zip01.out
+++ b/testdata/zip01.out
@@ -1,20 +1,36 @@
1main is not found 1main is not found
2tooltips: 2tooltips:
3testdata/zip01.lc 2:1-2:5 {a} -> a->a -> a 3testdata/zip01.lc 2:1-2:5 {a} -> a->a -> a
4testdata/zip01.lc 1:9-4:27 V0->V1 4testdata/zip01.lc 1:9-4:40 V0->V1
5testdata/zip01.lc 1:9-4:27 V1 5testdata/zip01.lc 1:9-4:40 V1
6testdata/zip01.lc 1:9-1:30 Type 6testdata/zip01.lc 1:9-1:30 Type
7testdata/zip01.lc 1:9-1:30 V3 7testdata/zip01.lc 1:10-1:11 Type
8testdata/zip01.lc 1:9-1:30 V2 8testdata/zip01.lc 1:10-1:11 V3
9testdata/zip01.lc 1:16-1:30 Type
10testdata/zip01.lc 1:17-1:18 Type
11testdata/zip01.lc 1:17-1:18 V2
12testdata/zip01.lc 1:23-1:30 Type
13testdata/zip01.lc 1:24-1:29 Type
9testdata/zip01.lc 1:24-1:29 Type -> Type->Type 14testdata/zip01.lc 1:24-1:29 Type -> Type->Type
10testdata/zip01.lc 4:22-4:27 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b) 15testdata/zip01.lc 1:25-1:26 Type
11testdata/zip01.lc 4:22-4:27 {a} -> 'List V1 -> 'List a -> 'List ('Tuple2 V3 a) 16testdata/zip01.lc 1:27-1:28 Type
12testdata/zip01.lc 4:22-4:27 'List V1 -> 'List V1 -> 'List ('Tuple2 V3 V2) 17testdata/zip01.lc 4:22-4:40 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b)
13testdata/zip01.lc 4:22-4:27 'List V1 -> 'List ('Tuple2 V3 V2) 18testdata/zip01.lc 4:22-4:40 {a} -> 'List V1 -> 'List a -> 'List ('Tuple2 V3 a)
14testdata/zip01.lc 4:22-4:27 'List ('Tuple2 V3 V2) 19testdata/zip01.lc 4:22-4:40 'List V1 -> 'List V1 -> 'List ('Tuple2 V3 V2)
15testdata/zip01.lc 4:22-4:27 V1 -> 'List V2 -> 'List V2 20testdata/zip01.lc 4:22-4:40 'List V1 -> 'List ('Tuple2 V3 V2)
16testdata/zip01.lc 4:22-4:27 'List V2 -> 'List V2 21testdata/zip01.lc 4:22-4:40 'List ('Tuple2 V3 V2)
17testdata/zip01.lc 4:22-4:27 'List V2 22testdata/zip01.lc 4:22-4:40 V1 -> 'List V2 -> 'List V2
23testdata/zip01.lc 4:22-4:40 'List V2 -> 'List V2
24testdata/zip01.lc 4:22-4:40 'List V2
18testdata/zip01.lc 4:22-4:27 V0 25testdata/zip01.lc 4:22-4:27 V0
19testdata/zip01.lc 4:22-4:27 {a} -> {b} -> a -> b -> 'Tuple2 a b 26testdata/zip01.lc 4:22-4:27 {a} -> {b} -> a -> b -> 'Tuple2 a b
27testdata/zip01.lc 4:23-4:24 V1
28testdata/zip01.lc 4:23-4:24 V10
29testdata/zip01.lc 4:25-4:26 V0
30testdata/zip01.lc 4:25-4:26 V4
31testdata/zip01.lc 4:30-4:40 'List ('Tuple2 V6 V2)
32testdata/zip01.lc 4:30-4:34 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b)
33testdata/zip01.lc 4:35-4:37 'List V1
34testdata/zip01.lc 4:35-4:37 'List V8
35testdata/zip01.lc 4:38-4:40 'List V2
20testdata/zip01.lc 2:1-2:5 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b) 36testdata/zip01.lc 2:1-2:5 {a} -> {b} -> 'List a -> 'List b -> 'List ('Tuple2 a b)