summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-04-28 00:55:25 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-04-28 00:55:25 +0200
commit08faa2226162892a8f055fa3cb5d8547a3f90bf5 (patch)
treedf5b1693524bbfdb881856a23d0d4c5851ddbf7c /testdata
parent4f17b186afdd0b076d3efc06fe844e1f547b805a (diff)
always show parens
Diffstat (limited to 'testdata')
-rw-r--r--testdata/Builtins.out262
-rw-r--r--testdata/Internals.out72
-rw-r--r--testdata/Material.out60
-rw-r--r--testdata/Prelude.out70
-rw-r--r--testdata/adhoc.reject.out4
-rw-r--r--testdata/complex.out8
-rw-r--r--testdata/data.out16
-rw-r--r--testdata/empty.out4
-rw-r--r--testdata/language-features/adt/adt02.reject.out4
-rw-r--r--testdata/language-features/adt/gadt03.reject.out4
-rw-r--r--testdata/language-features/adt/gadt04.reject.out4
-rw-r--r--testdata/language-features/basic-list/listcomp09.out8
-rw-r--r--testdata/language-features/basic-values/data01.out12
-rw-r--r--testdata/language-features/basic-values/infix03.out4
-rw-r--r--testdata/language-features/basic-values/typesig04.out12
-rw-r--r--testdata/performance/Material.out60
-rw-r--r--testdata/record01.reject.out4
-rw-r--r--testdata/traceTest.out6
-rw-r--r--testdata/typesig.reject.out8
-rw-r--r--testdata/typesigctx.reject.out4
20 files changed, 313 insertions, 313 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index 07783eca..aefc3cae 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -5,9 +5,9 @@ id :: {a} -> a->a
5V2 :: {a} -> a -> a -> 'VecS a 2 5V2 :: {a} -> a -> a -> 'VecS a 2
6V3 :: {a} -> a -> a -> a -> 'VecS a 3 6V3 :: {a} -> a -> a -> a -> 'VecS a 3
7V4 :: {a} -> a -> a -> a -> a -> 'VecS a 4 7V4 :: {a} -> a -> a -> a -> a -> 'VecS a 4
8'VecSCase :: {a} -> (b : c:'Nat -> 'VecS a c -> Type) -> (d:a -> e:a -> b 2 (V2 d e)) -> (f:a -> g:a -> h:a -> b 3 (V3 f g h)) -> (i:a -> j:a -> k:a -> l:a -> b 4 (V4 i j k l)) -> {m:'Nat} -> (n : 'VecS a m) -> b m n 8'VecSCase :: {a} -> (b : (c:'Nat) -> 'VecS a c -> Type) -> ((d:a) -> (e:a) -> b 2 (V2 d e)) -> ((f:a) -> (g:a) -> (h:a) -> b 3 (V3 f g h)) -> ((i:a) -> (j:a) -> (k:a) -> (l:a) -> b 4 (V4 i j k l)) -> {m:'Nat} -> (n : 'VecS a m) -> b m n
9match'VecS :: (a : Type->Type) -> (b:Type -> c:'Nat -> a ('VecS b c)) -> d:Type -> a d -> a d 9match'VecS :: (a : Type->Type) -> ((b:Type) -> (c:'Nat) -> a ('VecS b c)) -> (d:Type) -> a d -> a d
10mapVec :: {a} -> {b} -> {c:'Nat} -> a->b -> 'VecS a c -> 'VecS b c 10mapVec :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'VecS a c -> 'VecS b c
11'Vec :: 'Nat -> Type->Type 11'Vec :: 'Nat -> Type->Type
12'VecScalar :: 'Nat -> Type->Type 12'VecScalar :: 'Nat -> Type->Type
13'Mat :: 'Nat -> 'Nat -> Type->Type 13'Mat :: 'Nat -> 'Nat -> Type->Type
@@ -20,8 +20,8 @@ M43F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 3 'Float
20M24F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 4 'Float 20M24F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 4 'Float
21M34F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 4 'Float 21M34F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 4 'Float
22M44F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 4 'Float 22M44F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 4 'Float
23'MatCase :: (a : b:'Nat -> c:'Nat -> d:Type -> 'Mat b c d -> Type) -> ((e : 'Vec 2 'Float) -> (f : 'Vec 2 'Float) -> a 2 2 'Float (M22F e f)) -> ((g : 'Vec 3 'Float) -> (h : 'Vec 3 'Float) -> a 3 2 'Float (M32F g h)) -> ((i : 'Vec 4 'Float) -> (j : 'Vec 4 'Float) -> a 4 2 'Float (M42F i j)) -> ((k : 'Vec 2 'Float) -> (l : 'Vec 2 'Float) -> (m : 'Vec 2 'Float) -> a 2 3 'Float (M23F k l m)) -> ((n : 'Vec 3 'Float) -> (o : 'Vec 3 'Float) -> (p : 'Vec 3 'Float) -> a 3 3 'Float (M33F n o p)) -> ((q : 'Vec 4 'Float) -> (r : 'Vec 4 'Float) -> (s : 'Vec 4 'Float) -> a 4 3 'Float (M43F q r s)) -> ((t : 'Vec 2 'Float) -> (u : 'Vec 2 'Float) -> (v : 'Vec 2 'Float) -> (w : 'Vec 2 'Float) -> a 2 4 'Float (M24F t u v w)) -> ((x : 'Vec 3 'Float) -> (y : 'Vec 3 'Float) -> (z : 'Vec 3 'Float) -> (a' : 'Vec 3 'Float) -> a 3 4 'Float (M34F x y z a')) -> ((b' : 'Vec 4 'Float) -> (c' : 'Vec 4 'Float) -> (d' : 'Vec 4 'Float) -> (e' : 'Vec 4 'Float) -> a 4 4 'Float (M44F b' c' d' e')) -> {f':'Nat} -> {g':'Nat} -> {h'} -> (i' : 'Mat f' g' h') -> a f' g' h' i' 23'MatCase :: (a : (b:'Nat) -> (c:'Nat) -> (d:Type) -> 'Mat b c d -> Type) -> ((e : 'Vec 2 'Float) -> (f : 'Vec 2 'Float) -> a 2 2 'Float (M22F e f)) -> ((g : 'Vec 3 'Float) -> (h : 'Vec 3 'Float) -> a 3 2 'Float (M32F g h)) -> ((i : 'Vec 4 'Float) -> (j : 'Vec 4 'Float) -> a 4 2 'Float (M42F i j)) -> ((k : 'Vec 2 'Float) -> (l : 'Vec 2 'Float) -> (m : 'Vec 2 'Float) -> a 2 3 'Float (M23F k l m)) -> ((n : 'Vec 3 'Float) -> (o : 'Vec 3 'Float) -> (p : 'Vec 3 'Float) -> a 3 3 'Float (M33F n o p)) -> ((q : 'Vec 4 'Float) -> (r : 'Vec 4 'Float) -> (s : 'Vec 4 'Float) -> a 4 3 'Float (M43F q r s)) -> ((t : 'Vec 2 'Float) -> (u : 'Vec 2 'Float) -> (v : 'Vec 2 'Float) -> (w : 'Vec 2 'Float) -> a 2 4 'Float (M24F t u v w)) -> ((x : 'Vec 3 'Float) -> (y : 'Vec 3 'Float) -> (z : 'Vec 3 'Float) -> (a' : 'Vec 3 'Float) -> a 3 4 'Float (M34F x y z a')) -> ((b' : 'Vec 4 'Float) -> (c' : 'Vec 4 'Float) -> (d' : 'Vec 4 'Float) -> (e' : 'Vec 4 'Float) -> a 4 4 'Float (M44F b' c' d' e')) -> {f':'Nat} -> {g':'Nat} -> {h'} -> (i' : 'Mat f' g' h') -> a f' g' h' i'
24match'Mat :: (a : Type->Type) -> (b:'Nat -> c:'Nat -> d:Type -> a ('Mat b c d)) -> e:Type -> a e -> a e 24match'Mat :: (a : Type->Type) -> ((b:'Nat) -> (c:'Nat) -> (d:Type) -> a ('Mat b c d)) -> (e:Type) -> a e -> a e
25'MatVecScalarElem :: Type->Type 25'MatVecScalarElem :: Type->Type
26'Signed :: Type->Type 26'Signed :: Type->Type
27'Component :: Type->Type 27'Component :: Type->Type
@@ -141,34 +141,34 @@ head :: {a} -> 'List a -> a
141++ :: {a} -> 'List a -> 'List a -> 'List a 141++ :: {a} -> 'List a -> 'List a -> 'List a
142foldr :: {a} -> {b} -> (b -> a->a) -> a -> 'List b -> a 142foldr :: {a} -> {b} -> (b -> a->a) -> a -> 'List b -> a
143concat :: {a} -> 'List ('List a) -> 'List a 143concat :: {a} -> 'List ('List a) -> 'List a
144map :: {a} -> {b} -> a->b -> 'List a -> 'List b 144map :: {a} -> {b} -> (a->b) -> 'List a -> 'List b
145concatMap :: {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b 145concatMap :: {a} -> {b} -> (a -> 'List b) -> 'List a -> 'List b
146len :: {a} -> 'List a -> 'Int 146len :: {a} -> 'List a -> 'Int
147'Maybe :: Type->Type 147'Maybe :: Type->Type
148Nothing :: {a} -> 'Maybe a 148Nothing :: {a} -> 'Maybe a
149Just :: {a} -> a -> 'Maybe a 149Just :: {a} -> a -> 'Maybe a
150'MaybeCase :: {a} -> (b : 'Maybe a -> Type) -> b Nothing -> (c:a -> b (Just c)) -> (d : 'Maybe a) -> b d 150'MaybeCase :: {a} -> (b : 'Maybe a -> Type) -> b Nothing -> ((c:a) -> b (Just c)) -> (d : 'Maybe a) -> b d
151match'Maybe :: (a : Type->Type) -> (b:Type -> a ('Maybe b)) -> c:Type -> a c -> a c 151match'Maybe :: (a : Type->Type) -> ((b:Type) -> a ('Maybe b)) -> (c:Type) -> a c -> a c
152'Vector :: 'Nat -> Type->Type 152'Vector :: 'Nat -> Type->Type
153'VectorCase :: {a:'Nat} -> {b} -> (c : 'Vector a b -> Type) -> (d : 'Vector a b) -> c d 153'VectorCase :: {a:'Nat} -> {b} -> (c : 'Vector a b -> Type) -> (d : 'Vector a b) -> c d
154match'Vector :: (a : Type->Type) -> (b:'Nat -> c:Type -> a ('Vector b c)) -> d:Type -> a d -> a d 154match'Vector :: (a : Type->Type) -> ((b:'Nat) -> (c:Type) -> a ('Vector b c)) -> (d:Type) -> a d -> a d
155'PrimitiveType :: Type 155'PrimitiveType :: Type
156Triangle :: 'PrimitiveType 156Triangle :: 'PrimitiveType
157Line :: 'PrimitiveType 157Line :: 'PrimitiveType
158Point :: 'PrimitiveType 158Point :: 'PrimitiveType
159TriangleAdjacency :: 'PrimitiveType 159TriangleAdjacency :: 'PrimitiveType
160LineAdjacency :: 'PrimitiveType 160LineAdjacency :: 'PrimitiveType
161'PrimitiveTypeCase :: (a : 'PrimitiveType->Type) -> a Triangle -> a Line -> a Point -> a TriangleAdjacency -> a LineAdjacency -> b:'PrimitiveType -> a b 161'PrimitiveTypeCase :: (a : 'PrimitiveType->Type) -> a Triangle -> a Line -> a Point -> a TriangleAdjacency -> a LineAdjacency -> (b:'PrimitiveType) -> a b
162match'PrimitiveType :: (a : Type->Type) -> a 'PrimitiveType -> b:Type -> a b -> a b 162match'PrimitiveType :: (a : Type->Type) -> a 'PrimitiveType -> (b:Type) -> a b -> a b
163'Primitive :: Type -> 'PrimitiveType->Type 163'Primitive :: Type -> 'PrimitiveType->Type
164PrimPoint :: {a} -> a -> 'Primitive a Point 164PrimPoint :: {a} -> a -> 'Primitive a Point
165PrimLine :: {a} -> a -> a -> 'Primitive a Line 165PrimLine :: {a} -> a -> a -> 'Primitive a Line
166PrimTriangle :: {a} -> a -> a -> a -> 'Primitive a Triangle 166PrimTriangle :: {a} -> a -> a -> a -> 'Primitive a Triangle
167'PrimitiveCase :: {a} -> (b : c:'PrimitiveType -> 'Primitive a c -> Type) -> (d:a -> b Point (PrimPoint d)) -> (e:a -> f:a -> b Line (PrimLine e f)) -> (g:a -> h:a -> i:a -> b Triangle (PrimTriangle g h i)) -> {j:'PrimitiveType} -> (k : 'Primitive a j) -> b j k 167'PrimitiveCase :: {a} -> (b : (c:'PrimitiveType) -> 'Primitive a c -> Type) -> ((d:a) -> b Point (PrimPoint d)) -> ((e:a) -> (f:a) -> b Line (PrimLine e f)) -> ((g:a) -> (h:a) -> (i:a) -> b Triangle (PrimTriangle g h i)) -> {j:'PrimitiveType} -> (k : 'Primitive a j) -> b j k
168match'Primitive :: (a : Type->Type) -> (b:Type -> c:'PrimitiveType -> a ('Primitive b c)) -> d:Type -> a d -> a d 168match'Primitive :: (a : Type->Type) -> ((b:Type) -> (c:'PrimitiveType) -> a ('Primitive b c)) -> (d:Type) -> a d -> a d
169mapPrimitive :: {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'Primitive a c -> 'Primitive b c 169mapPrimitive :: {a} -> {b} -> {c:'PrimitiveType} -> (a->b) -> 'Primitive a c -> 'Primitive b c
170'PrimitiveStream :: 'PrimitiveType -> Type->Type 170'PrimitiveStream :: 'PrimitiveType -> Type->Type
171mapPrimitives :: {a} -> {b} -> {c:'PrimitiveType} -> a->b -> 'List ('Primitive a c) -> 'List ('Primitive b c) 171mapPrimitives :: {a} -> {b} -> {c:'PrimitiveType} -> (a->b) -> 'List ('Primitive a c) -> 'List ('Primitive b c)
172'ListElem :: Type->Type 172'ListElem :: Type->Type
173fetchArrays :: {a:'PrimitiveType} -> {b : 'List Type} -> {c : 'List Type} -> {_ : b ~ map Type Type 'ListElem c} -> 'HList c -> 'PrimitiveStream a ('HList b) 173fetchArrays :: {a:'PrimitiveType} -> {b : 'List Type} -> {c : 'List Type} -> {_ : b ~ map Type Type 'ListElem c} -> 'HList c -> 'PrimitiveStream a ('HList b)
174fetch :: {a:'PrimitiveType} -> {b : 'List Type} -> 'String -> 'HList b -> 'PrimitiveStream a ('HList b) 174fetch :: {a:'PrimitiveType} -> {b : 'List Type} -> 'String -> 'HList b -> 'PrimitiveStream a ('HList b)
@@ -176,28 +176,28 @@ Attribute :: {a} -> 'String->a
176fetchStream :: {a:'PrimitiveType} -> {b : 'List Type} -> 'String -> (c : 'List 'String) -> {_ : len 'String c ~ len Type b} -> 'PrimitiveStream a ('HList b) 176fetchStream :: {a:'PrimitiveType} -> {b : 'List Type} -> 'String -> (c : 'List 'String) -> {_ : len 'String c ~ len Type b} -> 'PrimitiveStream a ('HList b)
177'SimpleFragment :: Type->Type 177'SimpleFragment :: Type->Type
178SimpleFragment :: {a} -> 'Vec 3 'Float -> a -> 'SimpleFragment a 178SimpleFragment :: {a} -> 'Vec 3 'Float -> a -> 'SimpleFragment a
179'SimpleFragmentCase :: {a} -> (b : 'SimpleFragment a -> Type) -> ((c : 'Vec 3 'Float) -> d:a -> b (SimpleFragment c d)) -> (e : 'SimpleFragment a) -> b e 179'SimpleFragmentCase :: {a} -> (b : 'SimpleFragment a -> Type) -> ((c : 'Vec 3 'Float) -> (d:a) -> b (SimpleFragment c d)) -> (e : 'SimpleFragment a) -> b e
180match'SimpleFragment :: (a : Type->Type) -> (b:Type -> a ('SimpleFragment b)) -> c:Type -> a c -> a c 180match'SimpleFragment :: (a : Type->Type) -> ((b:Type) -> a ('SimpleFragment b)) -> (c:Type) -> a c -> a c
181'Fragment :: 'Nat -> Type->Type 181'Fragment :: 'Nat -> Type->Type
182sFragmentCoords :: {a} -> 'SimpleFragment a -> 'VecS 'Float 3 182sFragmentCoords :: {a} -> 'SimpleFragment a -> 'VecS 'Float 3
183sFragmentValue :: {a} -> 'SimpleFragment a -> a 183sFragmentValue :: {a} -> 'SimpleFragment a -> a
184'FragmentStream :: 'Nat -> Type->Type 184'FragmentStream :: 'Nat -> Type->Type
185customizeDepth :: {a} -> {b:'Nat} -> a->'Float -> 'Fragment b a -> 'Fragment b a 185customizeDepth :: {a} -> {b:'Nat} -> (a->'Float) -> 'Fragment b a -> 'Fragment b a
186customizeDepths :: {a} -> {b:'Nat} -> a->'Float -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) 186customizeDepths :: {a} -> {b:'Nat} -> (a->'Float) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a)))
187filterFragment :: {a} -> {b:'Nat} -> a->'Bool -> 'Fragment b a -> 'Fragment b a 187filterFragment :: {a} -> {b:'Nat} -> (a->'Bool) -> 'Fragment b a -> 'Fragment b a
188filterFragments :: {a} -> {b:'Nat} -> a->'Bool -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) 188filterFragments :: {a} -> {b:'Nat} -> (a->'Bool) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a)))
189mapFragment :: {a} -> {b} -> {c:'Nat} -> a->b -> 'Fragment c a -> 'Fragment c b 189mapFragment :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'Fragment c a -> 'Fragment c b
190mapFragments :: {a} -> {b} -> {c:'Nat} -> a->b -> 'List ('Vector c ('Maybe ('SimpleFragment a))) -> 'List ('Vector c ('Maybe ('SimpleFragment b))) 190mapFragments :: {a} -> {b} -> {c:'Nat} -> (a->b) -> 'List ('Vector c ('Maybe ('SimpleFragment a))) -> 'List ('Vector c ('Maybe ('SimpleFragment b)))
191'ImageKind :: Type 191'ImageKind :: Type
192Color :: Type->'ImageKind 192Color :: Type->'ImageKind
193Depth :: 'ImageKind 193Depth :: 'ImageKind
194Stencil :: 'ImageKind 194Stencil :: 'ImageKind
195'ImageKindCase :: (a : 'ImageKind->Type) -> (b:Type -> a (Color b)) -> a Depth -> a Stencil -> c:'ImageKind -> a c 195'ImageKindCase :: (a : 'ImageKind->Type) -> ((b:Type) -> a (Color b)) -> a Depth -> a Stencil -> (c:'ImageKind) -> a c
196match'ImageKind :: (a : Type->Type) -> a 'ImageKind -> b:Type -> a b -> a b 196match'ImageKind :: (a : Type->Type) -> a 'ImageKind -> (b:Type) -> a b -> a b
197imageType :: 'ImageKind->Type 197imageType :: 'ImageKind->Type
198'Image :: 'Nat -> 'ImageKind->Type 198'Image :: 'Nat -> 'ImageKind->Type
199'ImageCase :: {a:'Nat} -> {b:'ImageKind} -> (c : 'Image a b -> Type) -> (d : 'Image a b) -> c d 199'ImageCase :: {a:'Nat} -> {b:'ImageKind} -> (c : 'Image a b -> Type) -> (d : 'Image a b) -> c d
200match'Image :: (a : Type->Type) -> (b:'Nat -> c:'ImageKind -> a ('Image b c)) -> d:Type -> a d -> a d 200match'Image :: (a : Type->Type) -> ((b:'Nat) -> (c:'ImageKind) -> a ('Image b c)) -> (d:Type) -> a d -> a d
201ColorImage :: {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : d ~ 'VecScalar b c} -> d -> 'Image a (Color d) 201ColorImage :: {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {_ : 'Num c} -> {_ : d ~ 'VecScalar b c} -> d -> 'Image a (Color d)
202DepthImage :: {a:'Nat} -> 'Float -> 'Image a Depth 202DepthImage :: {a:'Nat} -> 'Float -> 'Image a Depth
203StencilImage :: {a:'Nat} -> 'Int -> 'Image a Stencil 203StencilImage :: {a:'Nat} -> 'Int -> 'Image a Stencil
@@ -208,8 +208,8 @@ Sx :: 'Swizz
208Sy :: 'Swizz 208Sy :: 'Swizz
209Sz :: 'Swizz 209Sz :: 'Swizz
210Sw :: 'Swizz 210Sw :: 'Swizz
211'SwizzCase :: (a : 'Swizz->Type) -> a Sx -> a Sy -> a Sz -> a Sw -> b:'Swizz -> a b 211'SwizzCase :: (a : 'Swizz->Type) -> a Sx -> a Sy -> a Sz -> a Sw -> (b:'Swizz) -> a b
212match'Swizz :: (a : Type->Type) -> a 'Swizz -> b:Type -> a b -> a b 212match'Swizz :: (a : Type->Type) -> a 'Swizz -> (b:Type) -> a b -> a b
213swizzscalar :: {a} -> {b:'Nat} -> 'Vec b a -> 'Swizz->a 213swizzscalar :: {a} -> {b:'Nat} -> 'Vec b a -> 'Swizz->a
214definedVec :: {a} -> {b:'Nat} -> 'Vec b a -> 'Bool 214definedVec :: {a} -> {b:'Nat} -> 'Vec b a -> 'Bool
215swizzvector :: {a} -> {b:'Nat} -> {c:'Nat} -> 'Vec b a -> 'Vec c 'Swizz -> 'VecS a c 215swizzvector :: {a} -> {b:'Nat} -> {c:'Nat} -> 'Vec b a -> 'Vec c 'Swizz -> 'VecS a c
@@ -229,16 +229,16 @@ OneMinusConstantColor :: 'BlendingFactor
229ConstantAlpha :: 'BlendingFactor 229ConstantAlpha :: 'BlendingFactor
230OneMinusConstantAlpha :: 'BlendingFactor 230OneMinusConstantAlpha :: 'BlendingFactor
231SrcAlphaSaturate :: 'BlendingFactor 231SrcAlphaSaturate :: 'BlendingFactor
232'BlendingFactorCase :: (a : 'BlendingFactor->Type) -> a ZeroBF -> a OneBF -> a SrcColor -> a OneMinusSrcColor -> a DstColor -> a OneMinusDstColor -> a SrcAlpha -> a OneMinusSrcAlpha -> a DstAlpha -> a OneMinusDstAlpha -> a ConstantColor -> a OneMinusConstantColor -> a ConstantAlpha -> a OneMinusConstantAlpha -> a SrcAlphaSaturate -> b:'BlendingFactor -> a b 232'BlendingFactorCase :: (a : 'BlendingFactor->Type) -> a ZeroBF -> a OneBF -> a SrcColor -> a OneMinusSrcColor -> a DstColor -> a OneMinusDstColor -> a SrcAlpha -> a OneMinusSrcAlpha -> a DstAlpha -> a OneMinusDstAlpha -> a ConstantColor -> a OneMinusConstantColor -> a ConstantAlpha -> a OneMinusConstantAlpha -> a SrcAlphaSaturate -> (b:'BlendingFactor) -> a b
233match'BlendingFactor :: (a : Type->Type) -> a 'BlendingFactor -> b:Type -> a b -> a b 233match'BlendingFactor :: (a : Type->Type) -> a 'BlendingFactor -> (b:Type) -> a b -> a b
234'BlendEquation :: Type 234'BlendEquation :: Type
235FuncAdd :: 'BlendEquation 235FuncAdd :: 'BlendEquation
236FuncSubtract :: 'BlendEquation 236FuncSubtract :: 'BlendEquation
237FuncReverseSubtract :: 'BlendEquation 237FuncReverseSubtract :: 'BlendEquation
238Min :: 'BlendEquation 238Min :: 'BlendEquation
239Max :: 'BlendEquation 239Max :: 'BlendEquation
240'BlendEquationCase :: (a : 'BlendEquation->Type) -> a FuncAdd -> a FuncSubtract -> a FuncReverseSubtract -> a Min -> a Max -> b:'BlendEquation -> a b 240'BlendEquationCase :: (a : 'BlendEquation->Type) -> a FuncAdd -> a FuncSubtract -> a FuncReverseSubtract -> a Min -> a Max -> (b:'BlendEquation) -> a b
241match'BlendEquation :: (a : Type->Type) -> a 'BlendEquation -> b:Type -> a b -> a b 241match'BlendEquation :: (a : Type->Type) -> a 'BlendEquation -> (b:Type) -> a b -> a b
242'LogicOperation :: Type 242'LogicOperation :: Type
243Clear :: 'LogicOperation 243Clear :: 'LogicOperation
244And :: 'LogicOperation 244And :: 'LogicOperation
@@ -256,8 +256,8 @@ CopyInverted :: 'LogicOperation
256OrInverted :: 'LogicOperation 256OrInverted :: 'LogicOperation
257Nand :: 'LogicOperation 257Nand :: 'LogicOperation
258Set :: 'LogicOperation 258Set :: 'LogicOperation
259'LogicOperationCase :: (a : 'LogicOperation->Type) -> a Clear -> a And -> a AndReverse -> a Copy -> a AndInverted -> a Noop -> a Xor -> a Or -> a Nor -> a Equiv -> a Invert -> a OrReverse -> a CopyInverted -> a OrInverted -> a Nand -> a Set -> b:'LogicOperation -> a b 259'LogicOperationCase :: (a : 'LogicOperation->Type) -> a Clear -> a And -> a AndReverse -> a Copy -> a AndInverted -> a Noop -> a Xor -> a Or -> a Nor -> a Equiv -> a Invert -> a OrReverse -> a CopyInverted -> a OrInverted -> a Nand -> a Set -> (b:'LogicOperation) -> a b
260match'LogicOperation :: (a : Type->Type) -> a 'LogicOperation -> b:Type -> a b -> a b 260match'LogicOperation :: (a : Type->Type) -> a 'LogicOperation -> (b:Type) -> a b -> a b
261'StencilOperation :: Type 261'StencilOperation :: Type
262OpZero :: 'StencilOperation 262OpZero :: 'StencilOperation
263OpKeep :: 'StencilOperation 263OpKeep :: 'StencilOperation
@@ -267,8 +267,8 @@ OpIncrWrap :: 'StencilOperation
267OpDecr :: 'StencilOperation 267OpDecr :: 'StencilOperation
268OpDecrWrap :: 'StencilOperation 268OpDecrWrap :: 'StencilOperation
269OpInvert :: 'StencilOperation 269OpInvert :: 'StencilOperation
270'StencilOperationCase :: (a : 'StencilOperation->Type) -> a OpZero -> a OpKeep -> a OpReplace -> a OpIncr -> a OpIncrWrap -> a OpDecr -> a OpDecrWrap -> a OpInvert -> b:'StencilOperation -> a b 270'StencilOperationCase :: (a : 'StencilOperation->Type) -> a OpZero -> a OpKeep -> a OpReplace -> a OpIncr -> a OpIncrWrap -> a OpDecr -> a OpDecrWrap -> a OpInvert -> (b:'StencilOperation) -> a b
271match'StencilOperation :: (a : Type->Type) -> a 'StencilOperation -> b:Type -> a b -> a b 271match'StencilOperation :: (a : Type->Type) -> a 'StencilOperation -> (b:Type) -> a b -> a b
272'ComparisonFunction :: Type 272'ComparisonFunction :: Type
273Never :: 'ComparisonFunction 273Never :: 'ComparisonFunction
274Less :: 'ComparisonFunction 274Less :: 'ComparisonFunction
@@ -278,72 +278,72 @@ Greater :: 'ComparisonFunction
278Notequal :: 'ComparisonFunction 278Notequal :: 'ComparisonFunction
279Gequal :: 'ComparisonFunction 279Gequal :: 'ComparisonFunction
280Always :: 'ComparisonFunction 280Always :: 'ComparisonFunction
281'ComparisonFunctionCase :: (a : 'ComparisonFunction->Type) -> a Never -> a Less -> a Equal -> a Lequal -> a Greater -> a Notequal -> a Gequal -> a Always -> b:'ComparisonFunction -> a b 281'ComparisonFunctionCase :: (a : 'ComparisonFunction->Type) -> a Never -> a Less -> a Equal -> a Lequal -> a Greater -> a Notequal -> a Gequal -> a Always -> (b:'ComparisonFunction) -> a b
282match'ComparisonFunction :: (a : Type->Type) -> a 'ComparisonFunction -> b:Type -> a b -> a b 282match'ComparisonFunction :: (a : Type->Type) -> a 'ComparisonFunction -> (b:Type) -> a b -> a b
283'ProvokingVertex :: Type 283'ProvokingVertex :: Type
284LastVertex :: 'ProvokingVertex 284LastVertex :: 'ProvokingVertex
285FirstVertex :: 'ProvokingVertex 285FirstVertex :: 'ProvokingVertex
286'ProvokingVertexCase :: (a : 'ProvokingVertex->Type) -> a LastVertex -> a FirstVertex -> b:'ProvokingVertex -> a b 286'ProvokingVertexCase :: (a : 'ProvokingVertex->Type) -> a LastVertex -> a FirstVertex -> (b:'ProvokingVertex) -> a b
287match'ProvokingVertex :: (a : Type->Type) -> a 'ProvokingVertex -> b:Type -> a b -> a b 287match'ProvokingVertex :: (a : Type->Type) -> a 'ProvokingVertex -> (b:Type) -> a b -> a b
288'CullMode :: Type 288'CullMode :: Type
289CullFront :: 'CullMode 289CullFront :: 'CullMode
290CullBack :: 'CullMode 290CullBack :: 'CullMode
291CullNone :: 'CullMode 291CullNone :: 'CullMode
292'CullModeCase :: (a : 'CullMode->Type) -> a CullFront -> a CullBack -> a CullNone -> b:'CullMode -> a b 292'CullModeCase :: (a : 'CullMode->Type) -> a CullFront -> a CullBack -> a CullNone -> (b:'CullMode) -> a b
293match'CullMode :: (a : Type->Type) -> a 'CullMode -> b:Type -> a b -> a b 293match'CullMode :: (a : Type->Type) -> a 'CullMode -> (b:Type) -> a b -> a b
294'PointSize :: Type->Type 294'PointSize :: Type->Type
295PointSize :: {a} -> 'Float -> 'PointSize a 295PointSize :: {a} -> 'Float -> 'PointSize a
296ProgramPointSize :: {a} -> a->'Float -> 'PointSize a 296ProgramPointSize :: {a} -> (a->'Float) -> 'PointSize a
297'PointSizeCase :: {a} -> (b : 'PointSize a -> Type) -> (c:'Float -> b (PointSize c)) -> ((d : a->'Float) -> b (ProgramPointSize d)) -> (e : 'PointSize a) -> b e 297'PointSizeCase :: {a} -> (b : 'PointSize a -> Type) -> ((c:'Float) -> b (PointSize c)) -> ((d : a->'Float) -> b (ProgramPointSize d)) -> (e : 'PointSize a) -> b e
298match'PointSize :: (a : Type->Type) -> (b:Type -> a ('PointSize b)) -> c:Type -> a c -> a c 298match'PointSize :: (a : Type->Type) -> ((b:Type) -> a ('PointSize b)) -> (c:Type) -> a c -> a c
299'PolygonMode :: Type->Type 299'PolygonMode :: Type->Type
300PolygonFill :: {a} -> 'PolygonMode a 300PolygonFill :: {a} -> 'PolygonMode a
301PolygonPoint :: {a} -> 'PointSize a -> 'PolygonMode a 301PolygonPoint :: {a} -> 'PointSize a -> 'PolygonMode a
302PolygonLine :: {a} -> 'Float -> 'PolygonMode a 302PolygonLine :: {a} -> 'Float -> 'PolygonMode a
303'PolygonModeCase :: {a} -> (b : 'PolygonMode a -> Type) -> b PolygonFill -> ((c : 'PointSize a) -> b (PolygonPoint c)) -> (d:'Float -> b (PolygonLine d)) -> (e : 'PolygonMode a) -> b e 303'PolygonModeCase :: {a} -> (b : 'PolygonMode a -> Type) -> b PolygonFill -> ((c : 'PointSize a) -> b (PolygonPoint c)) -> ((d:'Float) -> b (PolygonLine d)) -> (e : 'PolygonMode a) -> b e
304match'PolygonMode :: (a : Type->Type) -> (b:Type -> a ('PolygonMode b)) -> c:Type -> a c -> a c 304match'PolygonMode :: (a : Type->Type) -> ((b:Type) -> a ('PolygonMode b)) -> (c:Type) -> a c -> a c
305'PolygonOffset :: Type 305'PolygonOffset :: Type
306NoOffset :: 'PolygonOffset 306NoOffset :: 'PolygonOffset
307Offset :: 'Float -> 'Float->'PolygonOffset 307Offset :: 'Float -> 'Float->'PolygonOffset
308'PolygonOffsetCase :: (a : 'PolygonOffset->Type) -> a NoOffset -> (b:'Float -> c:'Float -> a (Offset b c)) -> d:'PolygonOffset -> a d 308'PolygonOffsetCase :: (a : 'PolygonOffset->Type) -> a NoOffset -> ((b:'Float) -> (c:'Float) -> a (Offset b c)) -> (d:'PolygonOffset) -> a d
309match'PolygonOffset :: (a : Type->Type) -> a 'PolygonOffset -> b:Type -> a b -> a b 309match'PolygonOffset :: (a : Type->Type) -> a 'PolygonOffset -> (b:Type) -> a b -> a b
310'PointSpriteCoordOrigin :: Type 310'PointSpriteCoordOrigin :: Type
311LowerLeft :: 'PointSpriteCoordOrigin 311LowerLeft :: 'PointSpriteCoordOrigin
312UpperLeft :: 'PointSpriteCoordOrigin 312UpperLeft :: 'PointSpriteCoordOrigin
313'PointSpriteCoordOriginCase :: (a : 'PointSpriteCoordOrigin->Type) -> a LowerLeft -> a UpperLeft -> b:'PointSpriteCoordOrigin -> a b 313'PointSpriteCoordOriginCase :: (a : 'PointSpriteCoordOrigin->Type) -> a LowerLeft -> a UpperLeft -> (b:'PointSpriteCoordOrigin) -> a b
314match'PointSpriteCoordOrigin :: (a : Type->Type) -> a 'PointSpriteCoordOrigin -> b:Type -> a b -> a b 314match'PointSpriteCoordOrigin :: (a : Type->Type) -> a 'PointSpriteCoordOrigin -> (b:Type) -> a b -> a b
315primTexture :: () -> 'Vec 2 'Float -> 'Vec 4 'Float 315primTexture :: () -> 'Vec 2 'Float -> 'Vec 4 'Float
316Uniform :: {a} -> 'String->a 316Uniform :: {a} -> 'String->a
317'RasterContext :: Type -> 'PrimitiveType->Type 317'RasterContext :: Type -> 'PrimitiveType->Type
318TriangleCtx :: {a} -> 'CullMode -> 'PolygonMode a -> 'PolygonOffset -> 'ProvokingVertex -> 'RasterContext a Triangle 318TriangleCtx :: {a} -> 'CullMode -> 'PolygonMode a -> 'PolygonOffset -> 'ProvokingVertex -> 'RasterContext a Triangle
319PointCtx :: {a} -> 'PointSize a -> 'Float -> 'PointSpriteCoordOrigin -> 'RasterContext a Point 319PointCtx :: {a} -> 'PointSize a -> 'Float -> 'PointSpriteCoordOrigin -> 'RasterContext a Point
320LineCtx :: {a} -> 'Float -> 'ProvokingVertex -> 'RasterContext a Line 320LineCtx :: {a} -> 'Float -> 'ProvokingVertex -> 'RasterContext a Line
321'RasterContextCase :: {a} -> (b : c:'PrimitiveType -> 'RasterContext a c -> Type) -> (d:'CullMode -> (e : 'PolygonMode a) -> f:'PolygonOffset -> g:'ProvokingVertex -> b Triangle (TriangleCtx d e f g)) -> ((h : 'PointSize a) -> i:'Float -> j:'PointSpriteCoordOrigin -> b Point (PointCtx h i j)) -> (k:'Float -> l:'ProvokingVertex -> b Line (LineCtx k l)) -> {m:'PrimitiveType} -> (n : 'RasterContext a m) -> b m n 321'RasterContextCase :: {a} -> (b : (c:'PrimitiveType) -> 'RasterContext a c -> Type) -> ((d:'CullMode) -> (e : 'PolygonMode a) -> (f:'PolygonOffset) -> (g:'ProvokingVertex) -> b Triangle (TriangleCtx d e f g)) -> ((h : 'PointSize a) -> (i:'Float) -> (j:'PointSpriteCoordOrigin) -> b Point (PointCtx h i j)) -> ((k:'Float) -> (l:'ProvokingVertex) -> b Line (LineCtx k l)) -> {m:'PrimitiveType} -> (n : 'RasterContext a m) -> b m n
322match'RasterContext :: (a : Type->Type) -> (b:Type -> c:'PrimitiveType -> a ('RasterContext b c)) -> d:Type -> a d -> a d 322match'RasterContext :: (a : Type->Type) -> ((b:Type) -> (c:'PrimitiveType) -> a ('RasterContext b c)) -> (d:Type) -> a d -> a d
323'Blending :: Type->Type 323'Blending :: Type->Type
324NoBlending :: {a} -> 'Blending a 324NoBlending :: {a} -> 'Blending a
325BlendLogicOp :: {a} -> {_ : 'Integral a} -> 'LogicOperation -> 'Blending a 325BlendLogicOp :: {a} -> {_ : 'Integral a} -> 'LogicOperation -> 'Blending a
326Blend :: ('BlendEquation, 'BlendEquation) -> (('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor)) -> 'Vec 4 'Float -> 'Blending 'Float 326Blend :: ('BlendEquation, 'BlendEquation) -> (('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor)) -> 'Vec 4 'Float -> 'Blending 'Float
327'BlendingCase :: (a : b:Type -> 'Blending b -> Type) -> ({c} -> a c (NoBlending c)) -> ({d} -> {e : 'Integral d} -> f:'LogicOperation -> a d (BlendLogicOp d e f)) -> (g:('BlendEquation, 'BlendEquation) -> h:(('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor)) -> (i : 'Vec 4 'Float) -> a 'Float (Blend g h i)) -> {j} -> (k : 'Blending j) -> a j k 327'BlendingCase :: (a : (b:Type) -> 'Blending b -> Type) -> ({c} -> a c (NoBlending c)) -> ({d} -> {e : 'Integral d} -> (f:'LogicOperation) -> a d (BlendLogicOp d e f)) -> ((g:('BlendEquation, 'BlendEquation)) -> (h:(('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor))) -> (i : 'Vec 4 'Float) -> a 'Float (Blend g h i)) -> {j} -> (k : 'Blending j) -> a j k
328match'Blending :: (a : Type->Type) -> (b:Type -> a ('Blending b)) -> c:Type -> a c -> a c 328match'Blending :: (a : Type->Type) -> ((b:Type) -> a ('Blending b)) -> (c:Type) -> a c -> a c
329'StencilTests :: Type 329'StencilTests :: Type
330'StencilTestsCase :: (a : 'StencilTests->Type) -> b:'StencilTests -> a b 330'StencilTestsCase :: (a : 'StencilTests->Type) -> (b:'StencilTests) -> a b
331match'StencilTests :: (a : Type->Type) -> a 'StencilTests -> b:Type -> a b -> a b 331match'StencilTests :: (a : Type->Type) -> a 'StencilTests -> (b:Type) -> a b -> a b
332'StencilOps :: Type 332'StencilOps :: Type
333'StencilOpsCase :: (a : 'StencilOps->Type) -> b:'StencilOps -> a b 333'StencilOpsCase :: (a : 'StencilOps->Type) -> (b:'StencilOps) -> a b
334match'StencilOps :: (a : Type->Type) -> a 'StencilOps -> b:Type -> a b -> a b 334match'StencilOps :: (a : Type->Type) -> a 'StencilOps -> (b:Type) -> a b -> a b
335'FragmentOperation :: 'ImageKind->Type 335'FragmentOperation :: 'ImageKind->Type
336ColorOp :: {a} -> {b:'Nat} -> {_ : 'Num a} -> 'Blending a -> 'VecScalar b 'Bool -> 'FragmentOperation (Color ('VecScalar b a)) 336ColorOp :: {a} -> {b:'Nat} -> {_ : 'Num a} -> 'Blending a -> 'VecScalar b 'Bool -> 'FragmentOperation (Color ('VecScalar b a))
337DepthOp :: 'ComparisonFunction -> 'Bool -> 'FragmentOperation Depth 337DepthOp :: 'ComparisonFunction -> 'Bool -> 'FragmentOperation Depth
338StencilOp :: 'StencilTests -> 'StencilOps -> 'StencilOps -> 'FragmentOperation Stencil 338StencilOp :: 'StencilTests -> 'StencilOps -> 'StencilOps -> 'FragmentOperation Stencil
339'FragmentOperationCase :: (a : b:'ImageKind -> 'FragmentOperation b -> Type) -> ({c} -> {d:'Nat} -> {e : 'Num c} -> (f : 'Blending c) -> (g : 'VecScalar d 'Bool) -> a (Color ('VecScalar d c)) (ColorOp c d e f g)) -> (h:'ComparisonFunction -> i:'Bool -> a Depth (DepthOp h i)) -> (j:'StencilTests -> k:'StencilOps -> l:'StencilOps -> a Stencil (StencilOp j k l)) -> {m:'ImageKind} -> (n : 'FragmentOperation m) -> a m n 339'FragmentOperationCase :: (a : (b:'ImageKind) -> 'FragmentOperation b -> Type) -> ({c} -> {d:'Nat} -> {e : 'Num c} -> (f : 'Blending c) -> (g : 'VecScalar d 'Bool) -> a (Color ('VecScalar d c)) (ColorOp c d e f g)) -> ((h:'ComparisonFunction) -> (i:'Bool) -> a Depth (DepthOp h i)) -> ((j:'StencilTests) -> (k:'StencilOps) -> (l:'StencilOps) -> a Stencil (StencilOp j k l)) -> {m:'ImageKind} -> (n : 'FragmentOperation m) -> a m n
340match'FragmentOperation :: (a : Type->Type) -> (b:'ImageKind -> a ('FragmentOperation b)) -> c:Type -> a c -> a c 340match'FragmentOperation :: (a : Type->Type) -> ((b:'ImageKind) -> a ('FragmentOperation b)) -> (c:Type) -> a c -> a c
341'Interpolated :: Type->Type 341'Interpolated :: Type->Type
342Smooth :: {a} -> {_ : 'Floating a} -> 'Interpolated a 342Smooth :: {a} -> {_ : 'Floating a} -> 'Interpolated a
343NoPerspective :: {a} -> {_ : 'Floating a} -> 'Interpolated a 343NoPerspective :: {a} -> {_ : 'Floating a} -> 'Interpolated a
344Flat :: {a} -> 'Interpolated a 344Flat :: {a} -> 'Interpolated a
345'InterpolatedCase :: {a} -> (b : 'Interpolated a -> Type) -> ({c : 'Floating a} -> b (Smooth c)) -> ({d : 'Floating a} -> b (NoPerspective d)) -> b Flat -> (e : 'Interpolated a) -> b e 345'InterpolatedCase :: {a} -> (b : 'Interpolated a -> Type) -> ({c : 'Floating a} -> b (Smooth c)) -> ({d : 'Floating a} -> b (NoPerspective d)) -> b Flat -> (e : 'Interpolated a) -> b e
346match'Interpolated :: (a : Type->Type) -> (b:Type -> a ('Interpolated b)) -> c:Type -> a c -> a c 346match'Interpolated :: (a : Type->Type) -> ((b:Type) -> a ('Interpolated b)) -> (c:Type) -> a c -> a c
347rasterizePrimitive :: {a : 'List Type} -> {b : 'List Type} -> {c : 'List Type} -> {d:'PrimitiveType} -> {_ : map Type Type 'Interpolated a ~ b} -> {_ : c ~ Cons ('Vec 4 'Float) a} -> 'HList b -> 'RasterContext ('HList c) d -> 'Primitive ('HList c) d -> 'FragmentStream 1 ('HList a) 347rasterizePrimitive :: {a : 'List Type} -> {b : 'List Type} -> {c : 'List Type} -> {d:'PrimitiveType} -> {_ : map Type Type 'Interpolated a ~ b} -> {_ : c ~ Cons ('Vec 4 'Float) a} -> 'HList b -> 'RasterContext ('HList c) d -> 'Primitive ('HList c) d -> 'FragmentStream 1 ('HList a)
348rasterizePrimitives :: {a : 'List Type} -> {b:'PrimitiveType} -> 'RasterContext ('HList (Cons ('Vec 4 'Float) a)) b -> 'HList (map Type Type 'Interpolated a) -> 'List ('Primitive ('HList (Cons ('Vec 4 'Float) a)) b) -> 'List ('Vector 1 ('Maybe ('SimpleFragment ('HList a)))) 348rasterizePrimitives :: {a : 'List Type} -> {b:'PrimitiveType} -> 'RasterContext ('HList (Cons ('Vec 4 'Float) a)) b -> 'HList (map Type Type 'Interpolated a) -> 'List ('Primitive ('HList (Cons ('Vec 4 'Float) a)) b) -> 'List ('Vector 1 ('Maybe ('SimpleFragment ('HList a))))
349'ImageLC :: Type->'Nat 349'ImageLC :: Type->'Nat
@@ -351,7 +351,7 @@ allSame :: {a} -> 'List a -> Type
351sameLayerCounts :: 'List Type -> Type 351sameLayerCounts :: 'List Type -> Type
352'FrameBuffer :: 'Nat -> 'List 'ImageKind -> Type 352'FrameBuffer :: 'Nat -> 'List 'ImageKind -> Type
353'FrameBufferCase :: {a:'Nat} -> {b : 'List 'ImageKind} -> (c : 'FrameBuffer a b -> Type) -> (d : 'FrameBuffer a b) -> c d 353'FrameBufferCase :: {a:'Nat} -> {b : 'List 'ImageKind} -> (c : 'FrameBuffer a b -> Type) -> (d : 'FrameBuffer a b) -> c d
354match'FrameBuffer :: (a : Type->Type) -> (b:'Nat -> (c : 'List 'ImageKind) -> a ('FrameBuffer b c)) -> d:Type -> a d -> a d 354match'FrameBuffer :: (a : Type->Type) -> ((b:'Nat) -> (c : 'List 'ImageKind) -> a ('FrameBuffer b c)) -> (d:Type) -> a d -> a d
355imageType' :: 'List 'ImageKind -> 'List Type 355imageType' :: 'List 'ImageKind -> 'List Type
356'FragmentOperationKind :: Type->'ImageKind 356'FragmentOperationKind :: Type->'ImageKind
357Accumulate :: {a : 'List 'ImageKind} -> {b:'Nat} -> {c : 'List Type} -> {_ : a ~ map Type 'ImageKind 'FragmentOperationKind c} -> 'HList c -> 'FragmentStream b ('HList (imageType' a)) -> 'FrameBuffer b a -> 'FrameBuffer b a 357Accumulate :: {a : 'List 'ImageKind} -> {b:'Nat} -> {c : 'List Type} -> {_ : a ~ map Type 'ImageKind 'FragmentOperationKind c} -> 'HList c -> 'FragmentStream b ('HList (imageType' a)) -> 'FrameBuffer b a -> 'FrameBuffer b a
@@ -365,29 +365,29 @@ PrjImage :: {a:'ImageKind} -> 'FrameBuffer 1 (Cons a Nil) -> 'Image 1 a[39
365PrjImageColor :: 'FrameBuffer 1 (Cons Depth (Cons (Color ('Vec 4 'Float)) Nil)) -> 'Image 1 (Color ('Vec 4 'Float)) 365PrjImageColor :: 'FrameBuffer 1 (Cons Depth (Cons (Color ('Vec 4 'Float)) Nil)) -> 'Image 1 (Color ('Vec 4 'Float))
366'Output :: Type 366'Output :: Type
367ScreenOut :: {a:'Nat} -> {b : 'List 'ImageKind} -> 'FrameBuffer a b -> 'Output 367ScreenOut :: {a:'Nat} -> {b : 'List 'ImageKind} -> 'FrameBuffer a b -> 'Output
368'OutputCase :: (a : 'Output->Type) -> ({b:'Nat} -> {c : 'List 'ImageKind} -> (d : 'FrameBuffer b c) -> a (ScreenOut b c d)) -> e:'Output -> a e 368'OutputCase :: (a : 'Output->Type) -> ({b:'Nat} -> {c : 'List 'ImageKind} -> (d : 'FrameBuffer b c) -> a (ScreenOut b c d)) -> (e:'Output) -> a e
369match'Output :: (a : Type->Type) -> a 'Output -> b:Type -> a b -> a b 369match'Output :: (a : Type->Type) -> a 'Output -> (b:Type) -> a b -> a b
370renderFrame :: {a:'Nat} -> {b : 'List 'ImageKind} -> 'FrameBuffer a b -> 'Output 370renderFrame :: {a:'Nat} -> {b : 'List 'ImageKind} -> 'FrameBuffer a b -> 'Output
371'Texture :: Type 371'Texture :: Type
372Texture2DSlot :: 'String->'Texture 372Texture2DSlot :: 'String->'Texture
373Texture2D :: 'Vec 2 'Int -> 'Image 1 (Color ('Vec 4 'Float)) -> 'Texture 373Texture2D :: 'Vec 2 'Int -> 'Image 1 (Color ('Vec 4 'Float)) -> 'Texture
374'TextureCase :: (a : 'Texture->Type) -> (b:'String -> a (Texture2DSlot b)) -> ((c : 'Vec 2 'Int) -> (d : 'Image 1 (Color ('Vec 4 'Float))) -> a (Texture2D c d)) -> e:'Texture -> a e 374'TextureCase :: (a : 'Texture->Type) -> ((b:'String) -> a (Texture2DSlot b)) -> ((c : 'Vec 2 'Int) -> (d : 'Image 1 (Color ('Vec 4 'Float))) -> a (Texture2D c d)) -> (e:'Texture) -> a e
375match'Texture :: (a : Type->Type) -> a 'Texture -> b:Type -> a b -> a b 375match'Texture :: (a : Type->Type) -> a 'Texture -> (b:Type) -> a b -> a b
376'Filter :: Type 376'Filter :: Type
377PointFilter :: 'Filter 377PointFilter :: 'Filter
378LinearFilter :: 'Filter 378LinearFilter :: 'Filter
379'FilterCase :: (a : 'Filter->Type) -> a PointFilter -> a LinearFilter -> b:'Filter -> a b 379'FilterCase :: (a : 'Filter->Type) -> a PointFilter -> a LinearFilter -> (b:'Filter) -> a b
380match'Filter :: (a : Type->Type) -> a 'Filter -> b:Type -> a b -> a b 380match'Filter :: (a : Type->Type) -> a 'Filter -> (b:Type) -> a b -> a b
381'EdgeMode :: Type 381'EdgeMode :: Type
382Repeat :: 'EdgeMode 382Repeat :: 'EdgeMode
383MirroredRepeat :: 'EdgeMode 383MirroredRepeat :: 'EdgeMode
384ClampToEdge :: 'EdgeMode 384ClampToEdge :: 'EdgeMode
385'EdgeModeCase :: (a : 'EdgeMode->Type) -> a Repeat -> a MirroredRepeat -> a ClampToEdge -> b:'EdgeMode -> a b 385'EdgeModeCase :: (a : 'EdgeMode->Type) -> a Repeat -> a MirroredRepeat -> a ClampToEdge -> (b:'EdgeMode) -> a b
386match'EdgeMode :: (a : Type->Type) -> a 'EdgeMode -> b:Type -> a b -> a b 386match'EdgeMode :: (a : Type->Type) -> a 'EdgeMode -> (b:Type) -> a b -> a b
387'Sampler :: Type 387'Sampler :: Type
388Sampler :: 'Filter -> 'EdgeMode -> 'Texture->'Sampler 388Sampler :: 'Filter -> 'EdgeMode -> 'Texture->'Sampler
389'SamplerCase :: (a : 'Sampler->Type) -> (b:'Filter -> c:'EdgeMode -> d:'Texture -> a (Sampler b c d)) -> e:'Sampler -> a e 389'SamplerCase :: (a : 'Sampler->Type) -> ((b:'Filter) -> (c:'EdgeMode) -> (d:'Texture) -> a (Sampler b c d)) -> (e:'Sampler) -> a e
390match'Sampler :: (a : Type->Type) -> a 'Sampler -> b:Type -> a b -> a b 390match'Sampler :: (a : Type->Type) -> a 'Sampler -> (b:Type) -> a b -> a b
391texture2D :: 'Sampler -> 'Vec 2 'Float -> 'Vec 4 'Float 391texture2D :: 'Sampler -> 'Vec 2 'Float -> 'Vec 4 'Float
392accumulationContext :: {a} -> a->a 392accumulationContext :: {a} -> a->a
393------------ tooltips 393------------ tooltips
@@ -452,12 +452,12 @@ testdata/Builtins.lc 19:35-19:41 Nat->Type
452testdata/Builtins.lc 19:35-19:43 Type 452testdata/Builtins.lc 19:35-19:43 Type
453testdata/Builtins.lc 19:40-19:41 Type 453testdata/Builtins.lc 19:40-19:41 Type
454testdata/Builtins.lc 19:42-19:43 Nat 454testdata/Builtins.lc 19:42-19:43 Nat
455testdata/Builtins.lc 20:1-20:7 {a} -> {b} -> {c:Nat} -> a->b -> VecS a c -> VecS b c 455testdata/Builtins.lc 20:1-20:7 {a} -> {b} -> {c:Nat} -> (a->b) -> VecS a c -> VecS b c
456testdata/Builtins.lc 20:21-20:23 {a} -> a -> a -> VecS a 2 456testdata/Builtins.lc 20:21-20:23 {a} -> a -> a -> VecS a 2
457testdata/Builtins.lc 20:21-20:29 f_ -> VecS g_ 2 457testdata/Builtins.lc 20:21-20:29 f_ -> VecS g_ 2
458testdata/Builtins.lc 20:21-20:35 VecS f_ 2 | a_ -> b_ -> VecS g_ 2 | b_ -> VecS g_ 2 458testdata/Builtins.lc 20:21-20:35 VecS f_ 2 | a_ -> b_ -> VecS g_ 2 | b_ -> VecS g_ 2
459testdata/Builtins.lc 20:21-21:43 (e_ -> f_ -> g_ -> h_ -> VecS h_ 4) -> {a:Nat} -> VecS g_ a -> VecS g_ a 459testdata/Builtins.lc 20:21-21:43 (e_ -> f_ -> g_ -> h_ -> VecS h_ 4) -> {a:Nat} -> VecS g_ a -> VecS g_ a
460testdata/Builtins.lc 20:21-22:51 VecS d_ b_ -> VecS d_ c_ | c_->c_ -> VecS d_ b_ -> VecS d_ c_ | {a:Nat} -> VecS f_ a -> VecS f_ a 460testdata/Builtins.lc 20:21-22:51 (c_->c_) -> VecS d_ b_ -> VecS d_ c_ | VecS d_ b_ -> VecS d_ c_ | {a:Nat} -> VecS f_ a -> VecS f_ a
461testdata/Builtins.lc 20:25-20:26 i_->i_ 461testdata/Builtins.lc 20:25-20:26 i_->i_
462testdata/Builtins.lc 20:25-20:28 f_ 462testdata/Builtins.lc 20:25-20:28 f_
463testdata/Builtins.lc 20:27-20:28 c_ 463testdata/Builtins.lc 20:27-20:28 c_
@@ -540,7 +540,7 @@ testdata/Builtins.lc 33:41-33:46 Nat -> Type->Type
540testdata/Builtins.lc 33:41-33:48 Type->Type 540testdata/Builtins.lc 33:41-33:48 Type->Type
541testdata/Builtins.lc 33:41-33:54 Type 541testdata/Builtins.lc 33:41-33:54 Type
542testdata/Builtins.lc 33:45-33:46 b_ 542testdata/Builtins.lc 33:45-33:46 b_
543testdata/Builtins.lc 33:45-33:48 a:Type -> Mat 2 2 a -> Type 543testdata/Builtins.lc 33:45-33:48 (a:Type) -> Mat 2 2 a -> Type
544testdata/Builtins.lc 33:45-33:54 Mat 2 2 Float -> Type 544testdata/Builtins.lc 33:45-33:54 Mat 2 2 Float -> Type
545testdata/Builtins.lc 33:47-33:48 b_ 545testdata/Builtins.lc 33:47-33:48 b_
546testdata/Builtins.lc 33:49-33:54 Type 546testdata/Builtins.lc 33:49-33:54 Type
@@ -562,7 +562,7 @@ testdata/Builtins.lc 34:41-34:46 Nat -> Type->Type
562testdata/Builtins.lc 34:41-34:48 Type->Type 562testdata/Builtins.lc 34:41-34:48 Type->Type
563testdata/Builtins.lc 34:41-34:54 Type 563testdata/Builtins.lc 34:41-34:54 Type
564testdata/Builtins.lc 34:45-34:46 b_ 564testdata/Builtins.lc 34:45-34:46 b_
565testdata/Builtins.lc 34:45-34:48 a:Type -> Mat 3 2 a -> Type 565testdata/Builtins.lc 34:45-34:48 (a:Type) -> Mat 3 2 a -> Type
566testdata/Builtins.lc 34:45-34:54 Mat 3 2 Float -> Type 566testdata/Builtins.lc 34:45-34:54 Mat 3 2 Float -> Type
567testdata/Builtins.lc 34:47-34:48 b_ 567testdata/Builtins.lc 34:47-34:48 b_
568testdata/Builtins.lc 34:49-34:54 Type 568testdata/Builtins.lc 34:49-34:54 Type
@@ -584,7 +584,7 @@ testdata/Builtins.lc 35:41-35:46 Nat -> Type->Type
584testdata/Builtins.lc 35:41-35:48 Type->Type 584testdata/Builtins.lc 35:41-35:48 Type->Type
585testdata/Builtins.lc 35:41-35:54 Type 585testdata/Builtins.lc 35:41-35:54 Type
586testdata/Builtins.lc 35:45-35:46 b_ 586testdata/Builtins.lc 35:45-35:46 b_
587testdata/Builtins.lc 35:45-35:48 a:Type -> Mat 4 2 a -> Type 587testdata/Builtins.lc 35:45-35:48 (a:Type) -> Mat 4 2 a -> Type
588testdata/Builtins.lc 35:45-35:54 Mat 4 2 Float -> Type 588testdata/Builtins.lc 35:45-35:54 Mat 4 2 Float -> Type
589testdata/Builtins.lc 35:47-35:48 b_ 589testdata/Builtins.lc 35:47-35:48 b_
590testdata/Builtins.lc 35:49-35:54 Type 590testdata/Builtins.lc 35:49-35:54 Type
@@ -612,7 +612,7 @@ testdata/Builtins.lc 36:56-36:61 Nat -> Type->Type
612testdata/Builtins.lc 36:56-36:63 Type->Type 612testdata/Builtins.lc 36:56-36:63 Type->Type
613testdata/Builtins.lc 36:56-36:69 Type 613testdata/Builtins.lc 36:56-36:69 Type
614testdata/Builtins.lc 36:60-36:61 b_ 614testdata/Builtins.lc 36:60-36:61 b_
615testdata/Builtins.lc 36:60-36:63 a:Type -> Mat 2 3 a -> Type 615testdata/Builtins.lc 36:60-36:63 (a:Type) -> Mat 2 3 a -> Type
616testdata/Builtins.lc 36:60-36:69 Mat 2 3 Float -> Type 616testdata/Builtins.lc 36:60-36:69 Mat 2 3 Float -> Type
617testdata/Builtins.lc 36:62-36:63 b_ 617testdata/Builtins.lc 36:62-36:63 b_
618testdata/Builtins.lc 36:64-36:69 Type 618testdata/Builtins.lc 36:64-36:69 Type
@@ -640,7 +640,7 @@ testdata/Builtins.lc 37:56-37:61 Nat -> Type->Type
640testdata/Builtins.lc 37:56-37:63 Type->Type 640testdata/Builtins.lc 37:56-37:63 Type->Type
641testdata/Builtins.lc 37:56-37:69 Type 641testdata/Builtins.lc 37:56-37:69 Type
642testdata/Builtins.lc 37:60-37:61 b_ 642testdata/Builtins.lc 37:60-37:61 b_
643testdata/Builtins.lc 37:60-37:63 a:Type -> Mat 3 3 a -> Type 643testdata/Builtins.lc 37:60-37:63 (a:Type) -> Mat 3 3 a -> Type
644testdata/Builtins.lc 37:60-37:69 Mat 3 3 Float -> Type 644testdata/Builtins.lc 37:60-37:69 Mat 3 3 Float -> Type
645testdata/Builtins.lc 37:62-37:63 b_ 645testdata/Builtins.lc 37:62-37:63 b_
646testdata/Builtins.lc 37:64-37:69 Type 646testdata/Builtins.lc 37:64-37:69 Type
@@ -668,7 +668,7 @@ testdata/Builtins.lc 38:56-38:61 Nat -> Type->Type
668testdata/Builtins.lc 38:56-38:63 Type->Type 668testdata/Builtins.lc 38:56-38:63 Type->Type
669testdata/Builtins.lc 38:56-38:69 Type 669testdata/Builtins.lc 38:56-38:69 Type
670testdata/Builtins.lc 38:60-38:61 b_ 670testdata/Builtins.lc 38:60-38:61 b_
671testdata/Builtins.lc 38:60-38:63 a:Type -> Mat 4 3 a -> Type 671testdata/Builtins.lc 38:60-38:63 (a:Type) -> Mat 4 3 a -> Type
672testdata/Builtins.lc 38:60-38:69 Mat 4 3 Float -> Type 672testdata/Builtins.lc 38:60-38:69 Mat 4 3 Float -> Type
673testdata/Builtins.lc 38:62-38:63 b_ 673testdata/Builtins.lc 38:62-38:63 b_
674testdata/Builtins.lc 38:64-38:69 Type 674testdata/Builtins.lc 38:64-38:69 Type
@@ -702,7 +702,7 @@ testdata/Builtins.lc 39:71-39:76 Nat -> Type->Type
702testdata/Builtins.lc 39:71-39:78 Type->Type 702testdata/Builtins.lc 39:71-39:78 Type->Type
703testdata/Builtins.lc 39:71-39:84 Type 703testdata/Builtins.lc 39:71-39:84 Type
704testdata/Builtins.lc 39:75-39:76 b_ 704testdata/Builtins.lc 39:75-39:76 b_
705testdata/Builtins.lc 39:75-39:78 a:Type -> Mat 2 4 a -> Type 705testdata/Builtins.lc 39:75-39:78 (a:Type) -> Mat 2 4 a -> Type
706testdata/Builtins.lc 39:75-39:84 Mat 2 4 Float -> Type 706testdata/Builtins.lc 39:75-39:84 Mat 2 4 Float -> Type
707testdata/Builtins.lc 39:77-39:78 b_ 707testdata/Builtins.lc 39:77-39:78 b_
708testdata/Builtins.lc 39:79-39:84 Type 708testdata/Builtins.lc 39:79-39:84 Type
@@ -736,7 +736,7 @@ testdata/Builtins.lc 40:71-40:76 Nat -> Type->Type
736testdata/Builtins.lc 40:71-40:78 Type->Type 736testdata/Builtins.lc 40:71-40:78 Type->Type
737testdata/Builtins.lc 40:71-40:84 Type 737testdata/Builtins.lc 40:71-40:84 Type
738testdata/Builtins.lc 40:75-40:76 b_ 738testdata/Builtins.lc 40:75-40:76 b_
739testdata/Builtins.lc 40:75-40:78 a:Type -> Mat 3 4 a -> Type 739testdata/Builtins.lc 40:75-40:78 (a:Type) -> Mat 3 4 a -> Type
740testdata/Builtins.lc 40:75-40:84 Mat 3 4 Float -> Type 740testdata/Builtins.lc 40:75-40:84 Mat 3 4 Float -> Type
741testdata/Builtins.lc 40:77-40:78 b_ 741testdata/Builtins.lc 40:77-40:78 b_
742testdata/Builtins.lc 40:79-40:84 Type 742testdata/Builtins.lc 40:79-40:84 Type
@@ -770,7 +770,7 @@ testdata/Builtins.lc 41:71-41:76 Nat -> Type->Type
770testdata/Builtins.lc 41:71-41:78 Type->Type 770testdata/Builtins.lc 41:71-41:78 Type->Type
771testdata/Builtins.lc 41:71-41:84 Type 771testdata/Builtins.lc 41:71-41:84 Type
772testdata/Builtins.lc 41:75-41:76 b_ 772testdata/Builtins.lc 41:75-41:76 b_
773testdata/Builtins.lc 41:75-41:78 a:Type -> Mat 4 4 a -> Type 773testdata/Builtins.lc 41:75-41:78 (a:Type) -> Mat 4 4 a -> Type
774testdata/Builtins.lc 41:75-41:84 Mat 4 4 Float -> Type 774testdata/Builtins.lc 41:75-41:84 Mat 4 4 Float -> Type
775testdata/Builtins.lc 41:77-41:78 b_ 775testdata/Builtins.lc 41:77-41:78 b_
776testdata/Builtins.lc 41:79-41:84 Type 776testdata/Builtins.lc 41:79-41:84 Type
@@ -811,22 +811,22 @@ testdata/Builtins.lc 69:9-90:31 b_
811testdata/Builtins.lc 71:10-71:12 {a} -> a -> a -> VecS a 2 811testdata/Builtins.lc 71:10-71:12 {a} -> a -> a -> VecS a 2
812testdata/Builtins.lc 71:10-71:16 Float -> VecS Float 2 812testdata/Builtins.lc 71:10-71:16 Float -> VecS Float 2
813testdata/Builtins.lc 71:10-71:20 VecS Float 2 813testdata/Builtins.lc 71:10-71:20 VecS Float 2
814testdata/Builtins.lc 71:10-77:28 a:Nat -> VecS Float ('Succ ('Succ a)) | a:Nat -> VecS Float ('Succ a) 814testdata/Builtins.lc 71:10-77:28 (a:Nat) -> VecS Float ('Succ ('Succ a)) | (a:Nat) -> VecS Float ('Succ a)
815testdata/Builtins.lc 71:10-89:36 VecS b_ a_ | a:Nat -> VecS b_ a | a:Type -> b:Nat -> VecS a b 815testdata/Builtins.lc 71:10-89:36 (a:Nat) -> VecS b_ a | (a:Type) -> (b:Nat) -> VecS a b | VecS b_ a_
816testdata/Builtins.lc 71:13-71:16 Float 816testdata/Builtins.lc 71:13-71:16 Float
817testdata/Builtins.lc 71:17-71:20 Float 817testdata/Builtins.lc 71:17-71:20 Float
818testdata/Builtins.lc 72:9-72:11 {a} -> a -> a -> VecS a 2 818testdata/Builtins.lc 72:9-72:11 {a} -> a -> a -> VecS a 2
819testdata/Builtins.lc 72:9-72:15 Float -> VecS Float 2 819testdata/Builtins.lc 72:9-72:15 Float -> VecS Float 2
820testdata/Builtins.lc 72:9-72:19 VecS Float 2 820testdata/Builtins.lc 72:9-72:19 VecS Float 2
821testdata/Builtins.lc 72:9-78:27 a:Nat -> VecS Float ('Succ ('Succ a)) | a:Nat -> VecS Float ('Succ a) 821testdata/Builtins.lc 72:9-78:27 (a:Nat) -> VecS Float ('Succ ('Succ a)) | (a:Nat) -> VecS Float ('Succ a)
822testdata/Builtins.lc 72:9-90:31 VecS b_ a_ | a:Nat -> VecS b_ a | a:Type -> b:Nat -> VecS a b 822testdata/Builtins.lc 72:9-90:31 (a:Nat) -> VecS b_ a | (a:Type) -> (b:Nat) -> VecS a b | VecS b_ a_
823testdata/Builtins.lc 72:12-72:15 Float 823testdata/Builtins.lc 72:12-72:15 Float
824testdata/Builtins.lc 72:16-72:19 Float 824testdata/Builtins.lc 72:16-72:19 Float
825testdata/Builtins.lc 74:10-74:12 {a} -> a -> a -> a -> VecS a 3 825testdata/Builtins.lc 74:10-74:12 {a} -> a -> a -> a -> VecS a 3
826testdata/Builtins.lc 74:10-74:16 Float -> Float -> VecS Float 3 826testdata/Builtins.lc 74:10-74:16 Float -> Float -> VecS Float 3
827testdata/Builtins.lc 74:10-74:20 Float -> VecS Float 3 827testdata/Builtins.lc 74:10-74:20 Float -> VecS Float 3
828testdata/Builtins.lc 74:10-74:24 VecS Float 3 828testdata/Builtins.lc 74:10-74:24 VecS Float 3
829testdata/Builtins.lc 74:10-77:28 a:Nat -> VecS Float ('Succ ('Succ ('Succ a))) 829testdata/Builtins.lc 74:10-77:28 (a:Nat) -> VecS Float ('Succ ('Succ ('Succ a)))
830testdata/Builtins.lc 74:13-74:16 Float 830testdata/Builtins.lc 74:13-74:16 Float
831testdata/Builtins.lc 74:17-74:20 Float 831testdata/Builtins.lc 74:17-74:20 Float
832testdata/Builtins.lc 74:21-74:24 Float 832testdata/Builtins.lc 74:21-74:24 Float
@@ -834,7 +834,7 @@ testdata/Builtins.lc 75:9-75:11 {a} -> a -> a -> a -> VecS a 3
834testdata/Builtins.lc 75:9-75:15 Float -> Float -> VecS Float 3 834testdata/Builtins.lc 75:9-75:15 Float -> Float -> VecS Float 3
835testdata/Builtins.lc 75:9-75:19 Float -> VecS Float 3 835testdata/Builtins.lc 75:9-75:19 Float -> VecS Float 3
836testdata/Builtins.lc 75:9-75:23 VecS Float 3 836testdata/Builtins.lc 75:9-75:23 VecS Float 3
837testdata/Builtins.lc 75:9-78:27 a:Nat -> VecS Float ('Succ ('Succ ('Succ a))) 837testdata/Builtins.lc 75:9-78:27 (a:Nat) -> VecS Float ('Succ ('Succ ('Succ a)))
838testdata/Builtins.lc 75:12-75:15 Float 838testdata/Builtins.lc 75:12-75:15 Float
839testdata/Builtins.lc 75:16-75:19 Float 839testdata/Builtins.lc 75:16-75:19 Float
840testdata/Builtins.lc 75:20-75:23 Float 840testdata/Builtins.lc 75:20-75:23 Float
@@ -842,7 +842,7 @@ testdata/Builtins.lc 77:10-77:12 {a} -> a -> a -> a -> a -> VecS a 4
842testdata/Builtins.lc 77:10-77:16 Float -> Float -> Float -> VecS Float 4 842testdata/Builtins.lc 77:10-77:16 Float -> Float -> Float -> VecS Float 4
843testdata/Builtins.lc 77:10-77:20 Float -> Float -> VecS Float 4 843testdata/Builtins.lc 77:10-77:20 Float -> Float -> VecS Float 4
844testdata/Builtins.lc 77:10-77:24 Float -> VecS Float 4 844testdata/Builtins.lc 77:10-77:24 Float -> VecS Float 4
845testdata/Builtins.lc 77:10-77:28 VecS Float 4 | a:Nat -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) 845testdata/Builtins.lc 77:10-77:28 (a:Nat) -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) | VecS Float 4
846testdata/Builtins.lc 77:13-77:16 Float 846testdata/Builtins.lc 77:13-77:16 Float
847testdata/Builtins.lc 77:17-77:20 Float 847testdata/Builtins.lc 77:17-77:20 Float
848testdata/Builtins.lc 77:21-77:24 Float 848testdata/Builtins.lc 77:21-77:24 Float
@@ -851,7 +851,7 @@ testdata/Builtins.lc 78:9-78:11 {a} -> a -> a -> a -> a -> VecS a 4
851testdata/Builtins.lc 78:9-78:15 Float -> Float -> Float -> VecS Float 4 851testdata/Builtins.lc 78:9-78:15 Float -> Float -> Float -> VecS Float 4
852testdata/Builtins.lc 78:9-78:19 Float -> Float -> VecS Float 4 852testdata/Builtins.lc 78:9-78:19 Float -> Float -> VecS Float 4
853testdata/Builtins.lc 78:9-78:23 Float -> VecS Float 4 853testdata/Builtins.lc 78:9-78:23 Float -> VecS Float 4
854testdata/Builtins.lc 78:9-78:27 VecS Float 4 | a:Nat -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) 854testdata/Builtins.lc 78:9-78:27 (a:Nat) -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) | VecS Float 4
855testdata/Builtins.lc 78:12-78:15 Float 855testdata/Builtins.lc 78:12-78:15 Float
856testdata/Builtins.lc 78:16-78:19 Float 856testdata/Builtins.lc 78:16-78:19 Float
857testdata/Builtins.lc 78:20-78:23 Float 857testdata/Builtins.lc 78:20-78:23 Float
@@ -861,20 +861,20 @@ testdata/Builtins.lc 81:9-81:13 Bool
861testdata/Builtins.lc 83:10-83:12 {a} -> a -> a -> VecS a 2 861testdata/Builtins.lc 83:10-83:12 {a} -> a -> a -> VecS a 2
862testdata/Builtins.lc 83:10-83:18 Bool -> VecS Bool 2 862testdata/Builtins.lc 83:10-83:18 Bool -> VecS Bool 2
863testdata/Builtins.lc 83:10-83:24 VecS Bool 2 863testdata/Builtins.lc 83:10-83:24 VecS Bool 2
864testdata/Builtins.lc 83:10-89:36 a:Nat -> VecS Bool ('Succ ('Succ a)) | a:Nat -> VecS Bool ('Succ a) 864testdata/Builtins.lc 83:10-89:36 (a:Nat) -> VecS Bool ('Succ ('Succ a)) | (a:Nat) -> VecS Bool ('Succ a)
865testdata/Builtins.lc 83:13-83:18 Bool 865testdata/Builtins.lc 83:13-83:18 Bool
866testdata/Builtins.lc 83:19-83:24 Bool 866testdata/Builtins.lc 83:19-83:24 Bool
867testdata/Builtins.lc 84:9-84:11 {a} -> a -> a -> VecS a 2 867testdata/Builtins.lc 84:9-84:11 {a} -> a -> a -> VecS a 2
868testdata/Builtins.lc 84:9-84:16 Bool -> VecS Bool 2 868testdata/Builtins.lc 84:9-84:16 Bool -> VecS Bool 2
869testdata/Builtins.lc 84:9-84:21 VecS Bool 2 869testdata/Builtins.lc 84:9-84:21 VecS Bool 2
870testdata/Builtins.lc 84:9-90:31 a:Nat -> VecS Bool ('Succ ('Succ a)) | a:Nat -> VecS Bool ('Succ a) 870testdata/Builtins.lc 84:9-90:31 (a:Nat) -> VecS Bool ('Succ ('Succ a)) | (a:Nat) -> VecS Bool ('Succ a)
871testdata/Builtins.lc 84:12-84:16 Bool 871testdata/Builtins.lc 84:12-84:16 Bool
872testdata/Builtins.lc 84:17-84:21 Bool 872testdata/Builtins.lc 84:17-84:21 Bool
873testdata/Builtins.lc 86:10-86:12 {a} -> a -> a -> a -> VecS a 3 873testdata/Builtins.lc 86:10-86:12 {a} -> a -> a -> a -> VecS a 3
874testdata/Builtins.lc 86:10-86:18 Bool -> Bool -> VecS Bool 3 874testdata/Builtins.lc 86:10-86:18 Bool -> Bool -> VecS Bool 3
875testdata/Builtins.lc 86:10-86:24 Bool -> VecS Bool 3 875testdata/Builtins.lc 86:10-86:24 Bool -> VecS Bool 3
876testdata/Builtins.lc 86:10-86:30 VecS Bool 3 876testdata/Builtins.lc 86:10-86:30 VecS Bool 3
877testdata/Builtins.lc 86:10-89:36 a:Nat -> VecS Bool ('Succ ('Succ ('Succ a))) 877testdata/Builtins.lc 86:10-89:36 (a:Nat) -> VecS Bool ('Succ ('Succ ('Succ a)))
878testdata/Builtins.lc 86:13-86:18 Bool 878testdata/Builtins.lc 86:13-86:18 Bool
879testdata/Builtins.lc 86:19-86:24 Bool 879testdata/Builtins.lc 86:19-86:24 Bool
880testdata/Builtins.lc 86:25-86:30 Bool 880testdata/Builtins.lc 86:25-86:30 Bool
@@ -882,7 +882,7 @@ testdata/Builtins.lc 87:9-87:11 {a} -> a -> a -> a -> VecS a 3
882testdata/Builtins.lc 87:9-87:16 Bool -> Bool -> VecS Bool 3 882testdata/Builtins.lc 87:9-87:16 Bool -> Bool -> VecS Bool 3
883testdata/Builtins.lc 87:9-87:21 Bool -> VecS Bool 3 883testdata/Builtins.lc 87:9-87:21 Bool -> VecS Bool 3
884testdata/Builtins.lc 87:9-87:26 VecS Bool 3 884testdata/Builtins.lc 87:9-87:26 VecS Bool 3
885testdata/Builtins.lc 87:9-90:31 a:Nat -> VecS Bool ('Succ ('Succ ('Succ a))) 885testdata/Builtins.lc 87:9-90:31 (a:Nat) -> VecS Bool ('Succ ('Succ ('Succ a)))
886testdata/Builtins.lc 87:12-87:16 Bool 886testdata/Builtins.lc 87:12-87:16 Bool
887testdata/Builtins.lc 87:17-87:21 Bool 887testdata/Builtins.lc 87:17-87:21 Bool
888testdata/Builtins.lc 87:22-87:26 Bool 888testdata/Builtins.lc 87:22-87:26 Bool
@@ -890,7 +890,7 @@ testdata/Builtins.lc 89:10-89:12 {a} -> a -> a -> a -> a -> VecS a 4
890testdata/Builtins.lc 89:10-89:18 Bool -> Bool -> Bool -> VecS Bool 4 890testdata/Builtins.lc 89:10-89:18 Bool -> Bool -> Bool -> VecS Bool 4
891testdata/Builtins.lc 89:10-89:24 Bool -> Bool -> VecS Bool 4 891testdata/Builtins.lc 89:10-89:24 Bool -> Bool -> VecS Bool 4
892testdata/Builtins.lc 89:10-89:30 Bool -> VecS Bool 4 892testdata/Builtins.lc 89:10-89:30 Bool -> VecS Bool 4
893testdata/Builtins.lc 89:10-89:36 VecS Bool 4 | a:Nat -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) 893testdata/Builtins.lc 89:10-89:36 (a:Nat) -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) | VecS Bool 4
894testdata/Builtins.lc 89:13-89:18 Bool 894testdata/Builtins.lc 89:13-89:18 Bool
895testdata/Builtins.lc 89:19-89:24 Bool 895testdata/Builtins.lc 89:19-89:24 Bool
896testdata/Builtins.lc 89:25-89:30 Bool 896testdata/Builtins.lc 89:25-89:30 Bool
@@ -899,7 +899,7 @@ testdata/Builtins.lc 90:9-90:11 {a} -> a -> a -> a -> a -> VecS a 4
899testdata/Builtins.lc 90:9-90:16 Bool -> Bool -> Bool -> VecS Bool 4 899testdata/Builtins.lc 90:9-90:16 Bool -> Bool -> Bool -> VecS Bool 4
900testdata/Builtins.lc 90:9-90:21 Bool -> Bool -> VecS Bool 4 900testdata/Builtins.lc 90:9-90:21 Bool -> Bool -> VecS Bool 4
901testdata/Builtins.lc 90:9-90:26 Bool -> VecS Bool 4 901testdata/Builtins.lc 90:9-90:26 Bool -> VecS Bool 4
902testdata/Builtins.lc 90:9-90:31 VecS Bool 4 | a:Nat -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) 902testdata/Builtins.lc 90:9-90:31 (a:Nat) -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) | VecS Bool 4
903testdata/Builtins.lc 90:12-90:16 Bool 903testdata/Builtins.lc 90:12-90:16 Bool
904testdata/Builtins.lc 90:17-90:21 Bool 904testdata/Builtins.lc 90:17-90:21 Bool
905testdata/Builtins.lc 90:22-90:26 Bool 905testdata/Builtins.lc 90:22-90:26 Bool
@@ -1892,7 +1892,7 @@ testdata/Builtins.lc 209:10-209:20 List a_ -> List (List b_) -> List c_
1892testdata/Builtins.lc 209:10-209:23 List (List a_) -> List b_ 1892testdata/Builtins.lc 209:10-209:23 List (List a_) -> List b_
1893testdata/Builtins.lc 209:16-209:20 {a} -> List a -> List a -> List a 1893testdata/Builtins.lc 209:16-209:20 {a} -> List a -> List a -> List a
1894testdata/Builtins.lc 209:21-209:23 {a} -> List a 1894testdata/Builtins.lc 209:21-209:23 {a} -> List a
1895testdata/Builtins.lc 211:1-211:4 {a} -> {b} -> a->b -> List a -> List b 1895testdata/Builtins.lc 211:1-211:4 {a} -> {b} -> (a->b) -> List a -> List b
1896testdata/Builtins.lc 211:16-211:18 {a} -> List a 1896testdata/Builtins.lc 211:16-211:18 {a} -> List a
1897testdata/Builtins.lc 211:16-212:30 List b_ -> List b_ | a_->b_ 1897testdata/Builtins.lc 211:16-212:30 List b_ -> List b_ | a_->b_
1898testdata/Builtins.lc 212:16-212:17 i_ 1898testdata/Builtins.lc 212:16-212:17 i_
@@ -1915,7 +1915,7 @@ testdata/Builtins.lc 214:36-214:37 Type
1915testdata/Builtins.lc 215:1-215:10 {a} -> {b} -> (a -> List b) -> List a -> List b 1915testdata/Builtins.lc 215:1-215:10 {a} -> {b} -> (a -> List b) -> List a -> List b
1916testdata/Builtins.lc 215:17-215:23 {a} -> List (List a) -> List a 1916testdata/Builtins.lc 215:17-215:23 {a} -> List (List a) -> List a
1917testdata/Builtins.lc 215:17-215:33 (b_ -> List b_) -> List c_ -> List c_ | List c_ | List c_ -> List c_ 1917testdata/Builtins.lc 215:17-215:33 (b_ -> List b_) -> List c_ -> List c_ | List c_ | List c_ -> List c_
1918testdata/Builtins.lc 215:25-215:28 {a} -> {b} -> a->b -> List a -> List b 1918testdata/Builtins.lc 215:25-215:28 {a} -> {b} -> (a->b) -> List a -> List b
1919testdata/Builtins.lc 215:25-215:30 List e_ -> List (List e_) 1919testdata/Builtins.lc 215:25-215:30 List e_ -> List (List e_)
1920testdata/Builtins.lc 215:25-215:32 List (List c_) 1920testdata/Builtins.lc 215:25-215:32 List (List c_)
1921testdata/Builtins.lc 215:29-215:30 g_ -> List g_ 1921testdata/Builtins.lc 215:29-215:30 g_ -> List g_
@@ -1984,7 +1984,7 @@ testdata/Builtins.lc 241:36-241:47 PrimitiveType->Type
1984testdata/Builtins.lc 241:36-241:56 Type 1984testdata/Builtins.lc 241:36-241:56 Type
1985testdata/Builtins.lc 241:46-241:47 Type 1985testdata/Builtins.lc 241:46-241:47 Type
1986testdata/Builtins.lc 241:48-241:56 PrimitiveType 1986testdata/Builtins.lc 241:48-241:56 PrimitiveType
1987testdata/Builtins.lc 243:1-243:13 {a} -> {b} -> {c:PrimitiveType} -> a->b -> Primitive a c -> Primitive b c 1987testdata/Builtins.lc 243:1-243:13 {a} -> {b} -> {c:PrimitiveType} -> (a->b) -> Primitive a c -> Primitive b c
1988testdata/Builtins.lc 243:17-243:59 Type 1988testdata/Builtins.lc 243:17-243:59 Type
1989testdata/Builtins.lc 243:18-243:19 f_ 1989testdata/Builtins.lc 243:18-243:19 f_
1990testdata/Builtins.lc 243:23-243:24 Type | e_ 1990testdata/Builtins.lc 243:23-243:24 Type | e_
@@ -2020,10 +2020,10 @@ testdata/Builtins.lc 252:53-252:70 Type->Type
2020testdata/Builtins.lc 252:53-252:72 Type 2020testdata/Builtins.lc 252:53-252:72 Type
2021testdata/Builtins.lc 252:69-252:70 PrimitiveType 2021testdata/Builtins.lc 252:69-252:70 PrimitiveType
2022testdata/Builtins.lc 252:71-252:72 Type 2022testdata/Builtins.lc 252:71-252:72 Type
2023testdata/Builtins.lc 253:1-253:14 {a} -> {b} -> {c:PrimitiveType} -> a->b -> List (Primitive a c) -> List (Primitive b c) 2023testdata/Builtins.lc 253:1-253:14 {a} -> {b} -> {c:PrimitiveType} -> (a->b) -> List (Primitive a c) -> List (Primitive b c)
2024testdata/Builtins.lc 253:19-253:22 {a} -> {b} -> a->b -> List a -> List b 2024testdata/Builtins.lc 253:19-253:22 {a} -> {b} -> (a->b) -> List a -> List b
2025testdata/Builtins.lc 253:19-253:39 List (Primitive e_ a_) -> List (Primitive e_ b_) | c_->c_ -> PrimitiveStream b_ d_ -> PrimitiveStream c_ d_ 2025testdata/Builtins.lc 253:19-253:39 (c_->c_) -> PrimitiveStream b_ d_ -> PrimitiveStream c_ d_ | List (Primitive e_ a_) -> List (Primitive e_ b_)
2026testdata/Builtins.lc 253:24-253:36 {a} -> {b} -> {c:PrimitiveType} -> a->b -> Primitive a c -> Primitive b c 2026testdata/Builtins.lc 253:24-253:36 {a} -> {b} -> {c:PrimitiveType} -> (a->b) -> Primitive a c -> Primitive b c
2027testdata/Builtins.lc 253:24-253:38 Primitive g_ a_ -> Primitive g_ b_ 2027testdata/Builtins.lc 253:24-253:38 Primitive g_ a_ -> Primitive g_ b_
2028testdata/Builtins.lc 253:37-253:38 i_->i_ 2028testdata/Builtins.lc 253:37-253:38 i_->i_
2029testdata/Builtins.lc 255:30-255:38 Type->Type 2029testdata/Builtins.lc 255:30-255:38 Type->Type
@@ -2034,7 +2034,7 @@ testdata/Builtins.lc 260:56-260:57 e_
2034testdata/Builtins.lc 260:56-260:59 d_->Type 2034testdata/Builtins.lc 260:56-260:59 d_->Type
2035testdata/Builtins.lc 260:56-260:75 Type 2035testdata/Builtins.lc 260:56-260:75 Type
2036testdata/Builtins.lc 260:58-260:59 {a} -> a -> a->Type 2036testdata/Builtins.lc 260:58-260:59 {a} -> a -> a->Type
2037testdata/Builtins.lc 260:60-260:63 {a} -> {b} -> a->b -> List a -> List b 2037testdata/Builtins.lc 260:60-260:63 {a} -> {b} -> (a->b) -> List a -> List b
2038testdata/Builtins.lc 260:60-260:72 List Type -> List Type 2038testdata/Builtins.lc 260:60-260:72 List Type -> List Type
2039testdata/Builtins.lc 260:60-260:75 List Type 2039testdata/Builtins.lc 260:60-260:75 List Type
2040testdata/Builtins.lc 260:64-260:72 Type->Type 2040testdata/Builtins.lc 260:64-260:72 Type->Type
@@ -2125,7 +2125,7 @@ testdata/Builtins.lc 277:28-277:38 Type->Type
2125testdata/Builtins.lc 277:28-277:40 Type 2125testdata/Builtins.lc 277:28-277:40 Type
2126testdata/Builtins.lc 277:37-277:38 d_ 2126testdata/Builtins.lc 277:37-277:38 d_
2127testdata/Builtins.lc 277:39-277:40 b_ 2127testdata/Builtins.lc 277:39-277:40 b_
2128testdata/Builtins.lc 279:1-279:15 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a 2128testdata/Builtins.lc 279:1-279:15 {a} -> {b:Nat} -> (a->Float) -> Fragment b a -> Fragment b a
2129testdata/Builtins.lc 279:19-279:63 Type 2129testdata/Builtins.lc 279:19-279:63 Type
2130testdata/Builtins.lc 279:20-279:21 d_ 2130testdata/Builtins.lc 279:20-279:21 d_
2131testdata/Builtins.lc 279:25-279:30 Type 2131testdata/Builtins.lc 279:25-279:30 Type
@@ -2154,13 +2154,13 @@ testdata/Builtins.lc 281:58-281:74 Type->Type
2154testdata/Builtins.lc 281:58-281:76 Type 2154testdata/Builtins.lc 281:58-281:76 Type
2155testdata/Builtins.lc 281:73-281:74 Nat 2155testdata/Builtins.lc 281:73-281:74 Nat
2156testdata/Builtins.lc 281:75-281:76 Type 2156testdata/Builtins.lc 281:75-281:76 Type
2157testdata/Builtins.lc 282:1-282:16 {a} -> {b:Nat} -> a->Float -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) 2157testdata/Builtins.lc 282:1-282:16 {a} -> {b:Nat} -> (a->Float) -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a)))
2158testdata/Builtins.lc 282:21-282:24 {a} -> {b} -> a->b -> List a -> List b 2158testdata/Builtins.lc 282:21-282:24 {a} -> {b} -> (a->b) -> List a -> List b
2159testdata/Builtins.lc 282:21-282:43 List (Vector a_ (Maybe (SimpleFragment d_))) -> List (Vector b_ (Maybe (SimpleFragment e_))) | b_->Float -> FragmentStream b_ c_ -> FragmentStream c_ d_ 2159testdata/Builtins.lc 282:21-282:43 (b_->Float) -> FragmentStream b_ c_ -> FragmentStream c_ d_ | List (Vector a_ (Maybe (SimpleFragment d_))) -> List (Vector b_ (Maybe (SimpleFragment e_)))
2160testdata/Builtins.lc 282:26-282:40 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a 2160testdata/Builtins.lc 282:26-282:40 {a} -> {b:Nat} -> (a->Float) -> Fragment b a -> Fragment b a
2161testdata/Builtins.lc 282:26-282:42 Fragment a_ f_ -> Fragment b_ g_ 2161testdata/Builtins.lc 282:26-282:42 Fragment a_ f_ -> Fragment b_ g_
2162testdata/Builtins.lc 282:41-282:42 g_->Float 2162testdata/Builtins.lc 282:41-282:42 g_->Float
2163testdata/Builtins.lc 284:1-284:15 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Fragment b a 2163testdata/Builtins.lc 284:1-284:15 {a} -> {b:Nat} -> (a->Bool) -> Fragment b a -> Fragment b a
2164testdata/Builtins.lc 284:19-284:62 Type 2164testdata/Builtins.lc 284:19-284:62 Type
2165testdata/Builtins.lc 284:20-284:21 d_ 2165testdata/Builtins.lc 284:20-284:21 d_
2166testdata/Builtins.lc 284:25-284:29 Type 2166testdata/Builtins.lc 284:25-284:29 Type
@@ -2189,13 +2189,13 @@ testdata/Builtins.lc 286:57-286:73 Type->Type
2189testdata/Builtins.lc 286:57-286:75 Type 2189testdata/Builtins.lc 286:57-286:75 Type
2190testdata/Builtins.lc 286:72-286:73 Nat 2190testdata/Builtins.lc 286:72-286:73 Nat
2191testdata/Builtins.lc 286:74-286:75 Type 2191testdata/Builtins.lc 286:74-286:75 Type
2192testdata/Builtins.lc 287:1-287:16 {a} -> {b:Nat} -> a->Bool -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) 2192testdata/Builtins.lc 287:1-287:16 {a} -> {b:Nat} -> (a->Bool) -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a)))
2193testdata/Builtins.lc 287:21-287:24 {a} -> {b} -> a->b -> List a -> List b 2193testdata/Builtins.lc 287:21-287:24 {a} -> {b} -> (a->b) -> List a -> List b
2194testdata/Builtins.lc 287:21-287:43 List (Vector a_ (Maybe (SimpleFragment d_))) -> List (Vector b_ (Maybe (SimpleFragment e_))) | b_->Bool -> FragmentStream b_ c_ -> FragmentStream c_ d_ 2194testdata/Builtins.lc 287:21-287:43 (b_->Bool) -> FragmentStream b_ c_ -> FragmentStream c_ d_ | List (Vector a_ (Maybe (SimpleFragment d_))) -> List (Vector b_ (Maybe (SimpleFragment e_)))
2195testdata/Builtins.lc 287:26-287:40 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Fragment b a 2195testdata/Builtins.lc 287:26-287:40 {a} -> {b:Nat} -> (a->Bool) -> Fragment b a -> Fragment b a
2196testdata/Builtins.lc 287:26-287:42 Fragment a_ f_ -> Fragment b_ g_ 2196testdata/Builtins.lc 287:26-287:42 Fragment a_ f_ -> Fragment b_ g_
2197testdata/Builtins.lc 287:41-287:42 g_->Bool 2197testdata/Builtins.lc 287:41-287:42 g_->Bool
2198testdata/Builtins.lc 289:1-289:12 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b 2198testdata/Builtins.lc 289:1-289:12 {a} -> {b} -> {c:Nat} -> (a->b) -> Fragment c a -> Fragment c b
2199testdata/Builtins.lc 289:16-289:56 Type 2199testdata/Builtins.lc 289:16-289:56 Type
2200testdata/Builtins.lc 289:17-289:18 f_ 2200testdata/Builtins.lc 289:17-289:18 f_
2201testdata/Builtins.lc 289:22-289:23 Type | e_ 2201testdata/Builtins.lc 289:22-289:23 Type | e_
@@ -2224,10 +2224,10 @@ testdata/Builtins.lc 291:51-291:67 Type->Type
2224testdata/Builtins.lc 291:51-291:69 Type 2224testdata/Builtins.lc 291:51-291:69 Type
2225testdata/Builtins.lc 291:66-291:67 Nat 2225testdata/Builtins.lc 291:66-291:67 Nat
2226testdata/Builtins.lc 291:68-291:69 Type 2226testdata/Builtins.lc 291:68-291:69 Type
2227testdata/Builtins.lc 292:1-292:13 {a} -> {b} -> {c:Nat} -> a->b -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) 2227testdata/Builtins.lc 292:1-292:13 {a} -> {b} -> {c:Nat} -> (a->b) -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b)))
2228testdata/Builtins.lc 292:18-292:21 {a} -> {b} -> a->b -> List a -> List b 2228testdata/Builtins.lc 292:18-292:21 {a} -> {b} -> (a->b) -> List a -> List b
2229testdata/Builtins.lc 292:18-292:37 List (Vector a_ (Maybe (SimpleFragment e_))) -> List (Vector b_ (Maybe (SimpleFragment e_))) | c_->c_ -> FragmentStream b_ d_ -> FragmentStream c_ d_ 2229testdata/Builtins.lc 292:18-292:37 (c_->c_) -> FragmentStream b_ d_ -> FragmentStream c_ d_ | List (Vector a_ (Maybe (SimpleFragment e_))) -> List (Vector b_ (Maybe (SimpleFragment e_)))
2230testdata/Builtins.lc 292:23-292:34 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b 2230testdata/Builtins.lc 292:23-292:34 {a} -> {b} -> {c:Nat} -> (a->b) -> Fragment c a -> Fragment c b
2231testdata/Builtins.lc 292:23-292:36 Fragment a_ g_ -> Fragment b_ g_ 2231testdata/Builtins.lc 292:23-292:36 Fragment a_ g_ -> Fragment b_ g_
2232testdata/Builtins.lc 292:35-292:36 i_->i_ 2232testdata/Builtins.lc 292:35-292:36 i_->i_
2233testdata/Builtins.lc 296:6-296:15 Type 2233testdata/Builtins.lc 296:6-296:15 Type
@@ -2367,7 +2367,7 @@ testdata/Builtins.lc 357:19-357:29 {a} -> {b:Nat} -> Vec b a -> Bool
2367testdata/Builtins.lc 357:19-357:31 Bool 2367testdata/Builtins.lc 357:19-357:31 Bool
2368testdata/Builtins.lc 357:19-357:58 Vec b_ Swizz -> Vec c_ e_ | Vec b_ c_ -> Vec b_ Swizz -> Vec c_ e_ | VecS e_ c_ 2368testdata/Builtins.lc 357:19-357:58 Vec b_ Swizz -> Vec c_ e_ | Vec b_ c_ -> Vec b_ Swizz -> Vec c_ e_ | VecS e_ c_
2369testdata/Builtins.lc 357:30-357:31 Vec f_ g_ 2369testdata/Builtins.lc 357:30-357:31 Vec f_ g_
2370testdata/Builtins.lc 357:34-357:40 {a} -> {b} -> {c:Nat} -> a->b -> VecS a c -> VecS b c 2370testdata/Builtins.lc 357:34-357:40 {a} -> {b} -> {c:Nat} -> (a->b) -> VecS a c -> VecS b c
2371testdata/Builtins.lc 357:34-357:56 VecS Swizz a_ -> VecS h_ b_ 2371testdata/Builtins.lc 357:34-357:56 VecS Swizz a_ -> VecS h_ b_
2372testdata/Builtins.lc 357:34-357:58 VecS e_ c_ 2372testdata/Builtins.lc 357:34-357:58 VecS e_ c_
2373testdata/Builtins.lc 357:42-357:53 {a} -> {b:Nat} -> Vec b a -> Swizz->a 2373testdata/Builtins.lc 357:42-357:53 {a} -> {b:Nat} -> Vec b a -> Swizz->a
@@ -2453,7 +2453,7 @@ testdata/Builtins.lc 432:6-434:36 Type
2453testdata/Builtins.lc 432:16-432:17 Type 2453testdata/Builtins.lc 432:16-432:17 Type
2454testdata/Builtins.lc 433:7-433:16 PointSize c_ | Type | {a} -> Float -> PointSize a 2454testdata/Builtins.lc 433:7-433:16 PointSize c_ | Type | {a} -> Float -> PointSize a
2455testdata/Builtins.lc 433:17-433:22 Type 2455testdata/Builtins.lc 433:17-433:22 Type
2456testdata/Builtins.lc 434:7-434:23 PointSize d_ | Type | {a} -> a->Float -> PointSize a 2456testdata/Builtins.lc 434:7-434:23 PointSize d_ | Type | {a} -> (a->Float) -> PointSize a
2457testdata/Builtins.lc 434:25-434:26 Type 2457testdata/Builtins.lc 434:25-434:26 Type
2458testdata/Builtins.lc 434:30-434:35 Type 2458testdata/Builtins.lc 434:30-434:35 Type
2459testdata/Builtins.lc 436:6-436:17 Type | Type->Type 2459testdata/Builtins.lc 436:6-436:17 Type | Type->Type
@@ -2657,7 +2657,7 @@ testdata/Builtins.lc 478:42-478:56 Type
2657testdata/Builtins.lc 478:55-478:56 Type 2657testdata/Builtins.lc 478:55-478:56 Type
2658testdata/Builtins.lc 480:1-480:19 {a : List Type} -> {b : List Type} -> {c : List Type} -> {d:PrimitiveType} -> {_ : 'map Type Type Interpolated a ~ b} -> {_ : c ~ 'Cons (Vec 4 Float) a} -> HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) 2658testdata/Builtins.lc 480:1-480:19 {a : List Type} -> {b : List Type} -> {c : List Type} -> {d:PrimitiveType} -> {_ : 'map Type Type Interpolated a ~ b} -> {_ : c ~ 'Cons (Vec 4 Float) a} -> HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a)
2659testdata/Builtins.lc 481:8-486:34 Type 2659testdata/Builtins.lc 481:8-486:34 Type
2660testdata/Builtins.lc 481:10-481:13 {a} -> {b} -> a->b -> List a -> List b 2660testdata/Builtins.lc 481:10-481:13 {a} -> {b} -> (a->b) -> List a -> List b
2661testdata/Builtins.lc 481:10-481:26 List Type -> List Type 2661testdata/Builtins.lc 481:10-481:26 List Type -> List Type
2662testdata/Builtins.lc 481:10-481:28 List Type 2662testdata/Builtins.lc 481:10-481:28 List Type
2663testdata/Builtins.lc 481:10-481:30 List Type -> Type 2663testdata/Builtins.lc 481:10-481:30 List Type -> Type
@@ -2710,7 +2710,7 @@ testdata/Builtins.lc 486:32-486:33 List Type
2710testdata/Builtins.lc 488:1-488:20 {a : List Type} -> {b:PrimitiveType} -> RasterContext (HList ('Cons (Vec 4 Float) a)) b -> HList ('map Type Type Interpolated a) -> List (Primitive (HList ('Cons (Vec 4 Float) a)) b) -> List (Vector 1 (Maybe (SimpleFragment (HList a)))) 2710testdata/Builtins.lc 488:1-488:20 {a : List Type} -> {b:PrimitiveType} -> RasterContext (HList ('Cons (Vec 4 Float) a)) b -> HList ('map Type Type Interpolated a) -> List (Primitive (HList ('Cons (Vec 4 Float) a)) b) -> List (Vector 1 (Maybe (SimpleFragment (HList a))))
2711testdata/Builtins.lc 488:32-488:38 {a} -> List (List a) -> List a 2711testdata/Builtins.lc 488:32-488:38 {a} -> List (List a) -> List a
2712testdata/Builtins.lc 488:32-488:74 List (Vector 1 (Maybe (SimpleFragment (HList b_)))) 2712testdata/Builtins.lc 488:32-488:74 List (Vector 1 (Maybe (SimpleFragment (HList b_))))
2713testdata/Builtins.lc 488:40-488:43 {a} -> {b} -> a->b -> List a -> List b 2713testdata/Builtins.lc 488:40-488:43 {a} -> {b} -> (a->b) -> List a -> List b
2714testdata/Builtins.lc 488:40-488:71 List (Primitive (HList ('Cons (Vec 4 Float) b_)) a_) -> List (List (Fragment 1 (HList c_))) 2714testdata/Builtins.lc 488:40-488:71 List (Primitive (HList ('Cons (Vec 4 Float) b_)) a_) -> List (List (Fragment 1 (HList c_)))
2715testdata/Builtins.lc 488:40-488:73 List (List (Fragment 1 (HList b_))) 2715testdata/Builtins.lc 488:40-488:73 List (List (Fragment 1 (HList b_)))
2716testdata/Builtins.lc 488:45-488:63 {a : List Type} -> {b : List Type} -> {c : List Type} -> {d:PrimitiveType} -> {_ : 'map Type Type Interpolated a ~ b} -> {_ : c ~ 'Cons (Vec 4 Float) a} -> HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a) 2716testdata/Builtins.lc 488:45-488:63 {a : List Type} -> {b : List Type} -> {c : List Type} -> {d:PrimitiveType} -> {_ : 'map Type Type Interpolated a ~ b} -> {_ : c ~ 'Cons (Vec 4 Float) a} -> HList b -> RasterContext (HList c) d -> Primitive (HList c) d -> FragmentStream 1 (HList a)
@@ -2750,7 +2750,7 @@ testdata/Builtins.lc 495:46-495:48 List e_
2750testdata/Builtins.lc 497:1-497:16 List Type -> Type 2750testdata/Builtins.lc 497:1-497:16 List Type -> Type
2751testdata/Builtins.lc 497:21-497:28 {a} -> List a -> Type 2751testdata/Builtins.lc 497:21-497:28 {a} -> List a -> Type
2752testdata/Builtins.lc 497:21-497:45 Type 2752testdata/Builtins.lc 497:21-497:45 Type
2753testdata/Builtins.lc 497:30-497:33 {a} -> {b} -> a->b -> List a -> List b 2753testdata/Builtins.lc 497:30-497:33 {a} -> {b} -> (a->b) -> List a -> List b
2754testdata/Builtins.lc 497:30-497:42 List Type -> List Nat 2754testdata/Builtins.lc 497:30-497:42 List Type -> List Nat
2755testdata/Builtins.lc 497:30-497:44 List Nat 2755testdata/Builtins.lc 497:30-497:44 List Nat
2756testdata/Builtins.lc 497:34-497:42 Type->Nat 2756testdata/Builtins.lc 497:34-497:42 Type->Nat
@@ -2765,13 +2765,13 @@ testdata/Builtins.lc 511:16-511:25 Type
2765testdata/Builtins.lc 511:30-511:36 Type 2765testdata/Builtins.lc 511:30-511:36 Type
2766testdata/Builtins.lc 511:31-511:35 Type 2766testdata/Builtins.lc 511:31-511:35 Type
2767testdata/Builtins.lc 512:1-512:11 List ImageKind -> List Type 2767testdata/Builtins.lc 512:1-512:11 List ImageKind -> List Type
2768testdata/Builtins.lc 512:25-512:28 {a} -> {b} -> a->b -> List a -> List b 2768testdata/Builtins.lc 512:25-512:28 {a} -> {b} -> (a->b) -> List a -> List b
2769testdata/Builtins.lc 512:25-512:38 List ImageKind -> List Type 2769testdata/Builtins.lc 512:25-512:38 List ImageKind -> List Type
2770testdata/Builtins.lc 512:25-512:40 List Type 2770testdata/Builtins.lc 512:25-512:40 List Type
2771testdata/Builtins.lc 512:25-513:31 List ImageKind -> List Type | List Type | List Type -> ImageKind -> List Type | List b_ -> List Type | a_ -> List b_ -> List Type 2771testdata/Builtins.lc 512:25-513:31 List ImageKind -> List Type | List Type | List Type -> ImageKind -> List Type | List b_ -> List Type | a_ -> List b_ -> List Type
2772testdata/Builtins.lc 512:29-512:38 ImageKind->Type 2772testdata/Builtins.lc 512:29-512:38 ImageKind->Type
2773testdata/Builtins.lc 512:39-512:40 List c_ 2773testdata/Builtins.lc 512:39-512:40 List c_
2774testdata/Builtins.lc 513:16-513:19 {a} -> {b} -> a->b -> List a -> List b 2774testdata/Builtins.lc 513:16-513:19 {a} -> {b} -> (a->b) -> List a -> List b
2775testdata/Builtins.lc 513:16-513:29 List ImageKind -> List Type 2775testdata/Builtins.lc 513:16-513:29 List ImageKind -> List Type
2776testdata/Builtins.lc 513:16-513:31 List Type | Type->b_ 2776testdata/Builtins.lc 513:16-513:31 List Type | Type->b_
2777testdata/Builtins.lc 513:20-513:29 ImageKind->Type 2777testdata/Builtins.lc 513:20-513:29 ImageKind->Type
@@ -2790,7 +2790,7 @@ testdata/Builtins.lc 517:50-517:51 e_
2790testdata/Builtins.lc 517:50-517:53 d_->Type 2790testdata/Builtins.lc 517:50-517:53 d_->Type
2791testdata/Builtins.lc 517:50-517:81 Type 2791testdata/Builtins.lc 517:50-517:81 Type
2792testdata/Builtins.lc 517:52-517:53 {a} -> a -> a->Type 2792testdata/Builtins.lc 517:52-517:53 {a} -> a -> a->Type
2793testdata/Builtins.lc 517:54-517:57 {a} -> {b} -> a->b -> List a -> List b 2793testdata/Builtins.lc 517:54-517:57 {a} -> {b} -> (a->b) -> List a -> List b
2794testdata/Builtins.lc 517:54-517:79 List Type -> List ImageKind 2794testdata/Builtins.lc 517:54-517:79 List Type -> List ImageKind
2795testdata/Builtins.lc 517:54-517:81 List ImageKind 2795testdata/Builtins.lc 517:54-517:81 List ImageKind
2796testdata/Builtins.lc 517:58-517:79 Type->ImageKind 2796testdata/Builtins.lc 517:58-517:79 Type->ImageKind
@@ -2854,7 +2854,7 @@ testdata/Builtins.lc 530:87-530:103 Nat
2854testdata/Builtins.lc 530:96-530:100 {a} -> List a -> a 2854testdata/Builtins.lc 530:96-530:100 {a} -> List a -> a
2855testdata/Builtins.lc 530:96-530:102 Type 2855testdata/Builtins.lc 530:96-530:102 Type
2856testdata/Builtins.lc 530:101-530:102 List Type 2856testdata/Builtins.lc 530:101-530:102 List Type
2857testdata/Builtins.lc 530:106-530:109 {a} -> {b} -> a->b -> List a -> List b 2857testdata/Builtins.lc 530:106-530:109 {a} -> {b} -> (a->b) -> List a -> List b
2858testdata/Builtins.lc 530:106-530:122 List Type -> List ImageKind 2858testdata/Builtins.lc 530:106-530:122 List Type -> List ImageKind
2859testdata/Builtins.lc 530:106-530:124 List ImageKind 2859testdata/Builtins.lc 530:106-530:124 List ImageKind
2860testdata/Builtins.lc 530:110-530:122 Type->ImageKind 2860testdata/Builtins.lc 530:110-530:122 Type->ImageKind
@@ -2867,7 +2867,7 @@ testdata/Builtins.lc 534:34-534:48 FragmentStream b_ (HList ('imageType' ('map
2867testdata/Builtins.lc 534:34-534:76 FrameBuffer c_ ('map Type ImageKind FragmentOperationKind b_) -> FrameBuffer d_ ('map Type ImageKind FragmentOperationKind c_) 2867testdata/Builtins.lc 534:34-534:76 FrameBuffer c_ ('map Type ImageKind FragmentOperationKind b_) -> FrameBuffer d_ ('map Type ImageKind FragmentOperationKind c_)
2868testdata/Builtins.lc 534:34-534:79 FrameBuffer c_ ('map Type ImageKind FragmentOperationKind b_) 2868testdata/Builtins.lc 534:34-534:79 FrameBuffer c_ ('map Type ImageKind FragmentOperationKind b_)
2869testdata/Builtins.lc 534:45-534:48 j_ 2869testdata/Builtins.lc 534:45-534:48 j_
2870testdata/Builtins.lc 534:50-534:62 {a} -> {b} -> {c:Nat} -> a->b -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) 2870testdata/Builtins.lc 534:50-534:62 {a} -> {b} -> {c:Nat} -> (a->b) -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b)))
2871testdata/Builtins.lc 534:50-534:70 List (Vector a_ (Maybe (SimpleFragment c_))) -> List (Vector b_ (Maybe (SimpleFragment c_))) 2871testdata/Builtins.lc 534:50-534:70 List (Vector a_ (Maybe (SimpleFragment c_))) -> List (Vector b_ (Maybe (SimpleFragment c_)))
2872testdata/Builtins.lc 534:50-534:75 List (Vector c_ (Maybe (SimpleFragment (HList ('imageType' ('map Type ImageKind FragmentOperationKind b_)))))) 2872testdata/Builtins.lc 534:50-534:75 List (Vector c_ (Maybe (SimpleFragment (HList ('imageType' ('map Type ImageKind FragmentOperationKind b_))))))
2873testdata/Builtins.lc 534:63-534:70 k_ 2873testdata/Builtins.lc 534:63-534:70 k_
diff --git a/testdata/Internals.out b/testdata/Internals.out
index dca27f59..2fd24406 100644
--- a/testdata/Internals.out
+++ b/testdata/Internals.out
@@ -3,52 +3,52 @@ main is not found
3typeAnn :: {a} -> a->a 3typeAnn :: {a} -> a->a
4parens :: {a} -> a->a 4parens :: {a} -> a->a
5undefined :: {a}->a 5undefined :: {a}->a
6primFix :: {a} -> a->a -> a 6primFix :: {a} -> (a->a)->a
7'Unit :: Type 7'Unit :: Type
8TT :: 'Unit 8TT :: 'Unit
9'UnitCase :: (a : 'Unit->Type) -> a TT -> b:'Unit -> a b 9'UnitCase :: (a : 'Unit->Type) -> a TT -> (b:'Unit) -> a b
10match'Unit :: (a : Type->Type) -> a 'Unit -> b:Type -> a b -> a b 10match'Unit :: (a : Type->Type) -> a 'Unit -> (b:Type) -> a b -> a b
11'String :: Type 11'String :: Type
12'StringCase :: (a : 'String->Type) -> b:'String -> a b 12'StringCase :: (a : 'String->Type) -> (b:'String) -> a b
13match'String :: (a : Type->Type) -> a 'String -> b:Type -> a b -> a b 13match'String :: (a : Type->Type) -> a 'String -> (b:Type) -> a b -> a b
14'Empty :: 'String->Type 14'Empty :: 'String->Type
15'EmptyCase :: {a:'String} -> (b : 'Empty a -> Type) -> (c : 'Empty a) -> b c 15'EmptyCase :: {a:'String} -> (b : 'Empty a -> Type) -> (c : 'Empty a) -> b c
16match'Empty :: (a : Type->Type) -> (b:'String -> a ('Empty b)) -> c:Type -> a c -> a c 16match'Empty :: (a : Type->Type) -> ((b:'String) -> a ('Empty b)) -> (c:Type) -> a c -> a c
17unsafeCoerce :: {a} -> {b} -> a->b 17unsafeCoerce :: {a} -> {b} -> a->b
18'EqCT :: a:Type -> a -> a->Type 18'EqCT :: (a:Type) -> a -> a->Type
19parEval :: a:Type -> a -> a->a 19parEval :: (a:Type) -> a -> a->a
20'T2 :: Type -> Type->Type 20'T2 :: Type -> Type->Type
21match'Type :: (a : Type->Type) -> a Type -> b:Type -> a b -> a b 21match'Type :: (a : Type->Type) -> a Type -> (b:Type) -> a b -> a b
22'EqCTt :: {a} -> a -> a->Type 22'EqCTt :: {a} -> a -> a->Type
23t2C :: 'Unit -> 'Unit->'Unit 23t2C :: 'Unit -> 'Unit->'Unit
24'Int :: Type 24'Int :: Type
25'IntCase :: (a : 'Int->Type) -> b:'Int -> a b 25'IntCase :: (a : 'Int->Type) -> (b:'Int) -> a b
26match'Int :: (a : Type->Type) -> a 'Int -> b:Type -> a b -> a b 26match'Int :: (a : Type->Type) -> a 'Int -> (b:Type) -> a b -> a b
27'Word :: Type 27'Word :: Type
28'WordCase :: (a : 'Word->Type) -> b:'Word -> a b 28'WordCase :: (a : 'Word->Type) -> (b:'Word) -> a b
29match'Word :: (a : Type->Type) -> a 'Word -> b:Type -> a b -> a b 29match'Word :: (a : Type->Type) -> a 'Word -> (b:Type) -> a b -> a b
30'Float :: Type 30'Float :: Type
31'FloatCase :: (a : 'Float->Type) -> b:'Float -> a b 31'FloatCase :: (a : 'Float->Type) -> (b:'Float) -> a b
32match'Float :: (a : Type->Type) -> a 'Float -> b:Type -> a b -> a b 32match'Float :: (a : Type->Type) -> a 'Float -> (b:Type) -> a b -> a b
33'Char :: Type 33'Char :: Type
34'CharCase :: (a : 'Char->Type) -> b:'Char -> a b 34'CharCase :: (a : 'Char->Type) -> (b:'Char) -> a b
35match'Char :: (a : Type->Type) -> a 'Char -> b:Type -> a b -> a b 35match'Char :: (a : Type->Type) -> a 'Char -> (b:Type) -> a b -> a b
36'Bool :: Type 36'Bool :: Type
37False :: 'Bool 37False :: 'Bool
38True :: 'Bool 38True :: 'Bool
39'BoolCase :: (a : 'Bool->Type) -> a False -> a True -> b:'Bool -> a b 39'BoolCase :: (a : 'Bool->Type) -> a False -> a True -> (b:'Bool) -> a b
40match'Bool :: (a : Type->Type) -> a 'Bool -> b:Type -> a b -> a b 40match'Bool :: (a : Type->Type) -> a 'Bool -> (b:Type) -> a b -> a b
41'Ordering :: Type 41'Ordering :: Type
42LT :: 'Ordering 42LT :: 'Ordering
43EQ :: 'Ordering 43EQ :: 'Ordering
44GT :: 'Ordering 44GT :: 'Ordering
45'OrderingCase :: (a : 'Ordering->Type) -> a LT -> a EQ -> a GT -> b:'Ordering -> a b 45'OrderingCase :: (a : 'Ordering->Type) -> a LT -> a EQ -> a GT -> (b:'Ordering) -> a b
46match'Ordering :: (a : Type->Type) -> a 'Ordering -> b:Type -> a b -> a b 46match'Ordering :: (a : Type->Type) -> a 'Ordering -> (b:Type) -> a b -> a b
47'Nat :: Type 47'Nat :: Type
48Zero :: 'Nat 48Zero :: 'Nat
49Succ :: 'Nat->'Nat 49Succ :: 'Nat->'Nat
50'NatCase :: (a : 'Nat->Type) -> a 0 -> (b:'Nat -> a (Succ b)) -> c:'Nat -> a c 50'NatCase :: (a : 'Nat->Type) -> a 0 -> ((b:'Nat) -> a (Succ b)) -> (c:'Nat) -> a c
51match'Nat :: (a : Type->Type) -> a 'Nat -> b:Type -> a b -> a b 51match'Nat :: (a : Type->Type) -> a 'Nat -> (b:Type) -> a b -> a b
52primIntToWord :: 'Int->'Word 52primIntToWord :: 'Int->'Word
53primIntToFloat :: 'Int->'Float 53primIntToFloat :: 'Int->'Float
54primIntToNat :: 'Int->'Nat 54primIntToNat :: 'Int->'Nat
@@ -76,15 +76,15 @@ negate :: {a} -> {_ : 'Num a} -> a->a
76'List :: Type->Type 76'List :: Type->Type
77Nil :: {a} -> 'List a 77Nil :: {a} -> 'List a
78Cons :: {a} -> a -> 'List a -> 'List a 78Cons :: {a} -> a -> 'List a -> 'List a
79'ListCase :: {a} -> (b : 'List a -> Type) -> b Nil -> (c:a -> (d : 'List a) -> b (Cons c d)) -> (e : 'List a) -> b e 79'ListCase :: {a} -> (b : 'List a -> Type) -> b Nil -> ((c:a) -> (d : 'List a) -> b (Cons c d)) -> (e : 'List a) -> b e
80match'List :: (a : Type->Type) -> (b:Type -> a ('List b)) -> c:Type -> a c -> a c 80match'List :: (a : Type->Type) -> ((b:Type) -> a ('List b)) -> (c:Type) -> a c -> a c
81'HList :: 'List Type -> Type 81'HList :: 'List Type -> Type
82HNil :: () 82HNil :: ()
83HCons :: {a} -> {b : 'List Type} -> a -> 'HList b -> 'HList (Cons a b) 83HCons :: {a} -> {b : 'List Type} -> a -> 'HList b -> 'HList (Cons a b)
84'HListCase :: (a : (b : 'List Type) -> 'HList b -> Type) -> a Nil () -> ({c} -> {d : 'List Type} -> e:c -> (f : 'HList d) -> a (Cons c d) (HCons c d e f)) -> {g : 'List Type} -> (h : 'HList g) -> a g h 84'HListCase :: (a : (b : 'List Type) -> 'HList b -> Type) -> a Nil () -> ({c} -> {d : 'List Type} -> (e:c) -> (f : 'HList d) -> a (Cons c d) (HCons c d e f)) -> {g : 'List Type} -> (h : 'HList g) -> a g h
85match'HList :: (a : Type->Type) -> ((b : 'List Type) -> a ('HList b)) -> c:Type -> a c -> a c 85match'HList :: (a : Type->Type) -> ((b : 'List Type) -> a ('HList b)) -> (c:Type) -> a c -> a c
86hlistNilCase :: a:Type -> a -> ()->a 86hlistNilCase :: (a:Type) -> a -> ()->a
87hlistConsCase :: {a} -> {b : 'List Type} -> c:Type -> (a -> 'HList b -> c) -> 'HList (Cons a b) -> c 87hlistConsCase :: {a} -> {b : 'List Type} -> (c:Type) -> (a -> 'HList b -> c) -> 'HList (Cons a b) -> c
88------------ tooltips 88------------ tooltips
89testdata/Internals.lc 6:1-6:8 {a} -> a->a 89testdata/Internals.lc 6:1-6:8 {a} -> a->a
90testdata/Internals.lc 6:13-6:14 b_ 90testdata/Internals.lc 6:13-6:14 b_
@@ -93,7 +93,7 @@ testdata/Internals.lc 9:12-9:13 b_
93testdata/Internals.lc 11:1-11:10 {a}->a 93testdata/Internals.lc 11:1-11:10 {a}->a
94testdata/Internals.lc 11:27-11:31 Type 94testdata/Internals.lc 11:27-11:31 Type
95testdata/Internals.lc 11:35-11:36 Type 95testdata/Internals.lc 11:35-11:36 Type
96testdata/Internals.lc 13:1-13:8 {a} -> a->a -> a 96testdata/Internals.lc 13:1-13:8 {a} -> (a->a)->a
97testdata/Internals.lc 13:25-13:29 Type 97testdata/Internals.lc 13:25-13:29 Type
98testdata/Internals.lc 13:33-13:46 Type 98testdata/Internals.lc 13:33-13:46 Type
99testdata/Internals.lc 13:34-13:35 Type 99testdata/Internals.lc 13:34-13:35 Type
@@ -109,19 +109,19 @@ testdata/Internals.lc 19:1-19:13 {a} -> {b} -> a->b
109testdata/Internals.lc 19:30-19:31 d_ 109testdata/Internals.lc 19:30-19:31 d_
110testdata/Internals.lc 19:30-19:36 Type 110testdata/Internals.lc 19:30-19:36 Type
111testdata/Internals.lc 19:35-19:36 Type | c_ 111testdata/Internals.lc 19:35-19:36 Type | c_
112testdata/Internals.lc 22:13-22:17 a:Type -> a -> a->Type 112testdata/Internals.lc 22:13-22:17 (a:Type) -> a -> a->Type
113testdata/Internals.lc 22:24-22:28 Type 113testdata/Internals.lc 22:24-22:28 Type
114testdata/Internals.lc 22:36-22:37 Type 114testdata/Internals.lc 22:36-22:37 Type
115testdata/Internals.lc 22:36-22:46 Type 115testdata/Internals.lc 22:36-22:46 Type
116testdata/Internals.lc 22:45-22:46 Type 116testdata/Internals.lc 22:45-22:46 Type
117testdata/Internals.lc 31:1-31:8 a:Type -> a -> a->a 117testdata/Internals.lc 31:1-31:8 (a:Type) -> a -> a->a
118testdata/Internals.lc 31:24-31:25 b_ 118testdata/Internals.lc 31:24-31:25 b_
119testdata/Internals.lc 31:24-31:35 Type 119testdata/Internals.lc 31:24-31:35 Type
120testdata/Internals.lc 31:29-31:30 Type 120testdata/Internals.lc 31:29-31:30 Type
121testdata/Internals.lc 31:29-31:35 Type 121testdata/Internals.lc 31:29-31:35 Type
122testdata/Internals.lc 31:34-31:35 Type 122testdata/Internals.lc 31:34-31:35 Type
123testdata/Internals.lc 34:13-34:15 Type -> Type->Type 123testdata/Internals.lc 34:13-34:15 Type -> Type->Type
124testdata/Internals.lc 36:1-36:11 (a : Type->Type) -> a Type -> b:Type -> a b -> a b 124testdata/Internals.lc 36:1-36:11 (a : Type->Type) -> a Type -> (b:Type) -> a b -> a b
125testdata/Internals.lc 36:28-36:32 Type 125testdata/Internals.lc 36:28-36:32 Type
126testdata/Internals.lc 36:36-36:40 Type 126testdata/Internals.lc 36:36-36:40 Type
127testdata/Internals.lc 36:45-36:46 Type->Type 127testdata/Internals.lc 36:45-36:46 Type->Type
@@ -138,7 +138,7 @@ testdata/Internals.lc 36:84-36:85 Type->Type
138testdata/Internals.lc 36:84-36:87 Type 138testdata/Internals.lc 36:84-36:87 Type
139testdata/Internals.lc 36:86-36:87 Type 139testdata/Internals.lc 36:86-36:87 Type
140testdata/Internals.lc 38:6-38:11 {a} -> a -> a->Type 140testdata/Internals.lc 38:6-38:11 {a} -> a -> a->Type
141testdata/Internals.lc 38:14-38:18 a:Type -> a -> a->Type 141testdata/Internals.lc 38:14-38:18 (a:Type) -> a -> a->Type
142testdata/Internals.lc 38:14-38:20 a_ -> b_->Type 142testdata/Internals.lc 38:14-38:20 a_ -> b_->Type
143testdata/Internals.lc 41:1-41:4 Unit -> Unit->Unit 143testdata/Internals.lc 41:1-41:4 Unit -> Unit->Unit
144testdata/Internals.lc 41:8-41:12 Type 144testdata/Internals.lc 41:8-41:12 Type
@@ -373,7 +373,7 @@ testdata/Internals.lc 128:39-128:41 List Type -> List Type
373testdata/Internals.lc 128:39-128:44 List Type 373testdata/Internals.lc 128:39-128:44 List Type
374testdata/Internals.lc 128:40-128:41 {a} -> a -> List a -> List a 374testdata/Internals.lc 128:40-128:41 {a} -> a -> List a -> List a
375testdata/Internals.lc 128:42-128:44 List Type 375testdata/Internals.lc 128:42-128:44 List Type
376testdata/Internals.lc 130:1-130:13 a:Type -> a -> ()->a 376testdata/Internals.lc 130:1-130:13 (a:Type) -> a -> ()->a
377testdata/Internals.lc 130:29-130:30 b_ 377testdata/Internals.lc 130:29-130:30 b_
378testdata/Internals.lc 130:29-130:48 Type 378testdata/Internals.lc 130:29-130:48 Type
379testdata/Internals.lc 130:34-130:39 List Type -> Type 379testdata/Internals.lc 130:34-130:39 List Type -> Type
@@ -381,7 +381,7 @@ testdata/Internals.lc 130:34-130:43 Type
381testdata/Internals.lc 130:34-130:48 Type 381testdata/Internals.lc 130:34-130:48 Type
382testdata/Internals.lc 130:40-130:43 {a} -> List a 382testdata/Internals.lc 130:40-130:43 {a} -> List a
383testdata/Internals.lc 130:47-130:48 Type 383testdata/Internals.lc 130:47-130:48 Type
384testdata/Internals.lc 131:1-131:14 {a} -> {b : List Type} -> c:Type -> (a -> HList b -> c) -> HList ('Cons a b) -> c 384testdata/Internals.lc 131:1-131:14 {a} -> {b : List Type} -> (c:Type) -> (a -> HList b -> c) -> HList ('Cons a b) -> c
385testdata/Internals.lc 132:21-132:25 Type 385testdata/Internals.lc 132:21-132:25 Type
386testdata/Internals.lc 132:33-132:37 Type->Type 386testdata/Internals.lc 132:33-132:37 Type->Type
387testdata/Internals.lc 132:33-132:42 Type 387testdata/Internals.lc 132:33-132:42 Type
diff --git a/testdata/Material.out b/testdata/Material.out
index 487f201b..874319e4 100644
--- a/testdata/Material.out
+++ b/testdata/Material.out
@@ -3,8 +3,8 @@ main is not found
3identityLight :: 'Float 3identityLight :: 'Float
4'Entity :: Type 4'Entity :: Type
5Entity :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 3 'Float -> 'Vec 4 'Float -> 'Entity 5Entity :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 3 'Float -> 'Vec 4 'Float -> 'Entity
6'EntityCase :: (a : 'Entity->Type) -> ((b : 'Vec 4 'Float) -> (c : 'Vec 4 'Float) -> (d : 'Vec 3 'Float) -> (e : 'Vec 4 'Float) -> a (Entity b c d e)) -> f:'Entity -> a f 6'EntityCase :: (a : 'Entity->Type) -> ((b : 'Vec 4 'Float) -> (c : 'Vec 4 'Float) -> (d : 'Vec 3 'Float) -> (e : 'Vec 4 'Float) -> a (Entity b c d e)) -> (f:'Entity) -> a f
7match'Entity :: (a : Type->Type) -> a 'Entity -> b:Type -> a b -> a b 7match'Entity :: (a : Type->Type) -> a 'Entity -> (b:Type) -> a b -> a b
8eAmbientLight :: 'Entity -> 'VecS 'Float 4 8eAmbientLight :: 'Entity -> 'VecS 'Float 4
9eDirectedLight :: 'Entity -> 'VecS 'Float 4 9eDirectedLight :: 'Entity -> 'VecS 'Float 4
10eLightDir :: 'Entity -> 'VecS 'Float 3 10eLightDir :: 'Entity -> 'VecS 'Float 3
@@ -16,12 +16,12 @@ WT_Square :: 'WaveType
16WT_Sawtooth :: 'WaveType 16WT_Sawtooth :: 'WaveType
17WT_InverseSawtooth :: 'WaveType 17WT_InverseSawtooth :: 'WaveType
18WT_Noise :: 'WaveType 18WT_Noise :: 'WaveType
19'WaveTypeCase :: (a : 'WaveType->Type) -> a WT_Sin -> a WT_Triangle -> a WT_Square -> a WT_Sawtooth -> a WT_InverseSawtooth -> a WT_Noise -> b:'WaveType -> a b 19'WaveTypeCase :: (a : 'WaveType->Type) -> a WT_Sin -> a WT_Triangle -> a WT_Square -> a WT_Sawtooth -> a WT_InverseSawtooth -> a WT_Noise -> (b:'WaveType) -> a b
20match'WaveType :: (a : Type->Type) -> a 'WaveType -> b:Type -> a b -> a b 20match'WaveType :: (a : Type->Type) -> a 'WaveType -> (b:Type) -> a b -> a b
21'Wave :: Type 21'Wave :: Type
22Wave :: 'WaveType -> 'Float -> 'Float -> 'Float -> 'Float->'Wave 22Wave :: 'WaveType -> 'Float -> 'Float -> 'Float -> 'Float->'Wave
23'WaveCase :: (a : 'Wave->Type) -> (b:'WaveType -> c:'Float -> d:'Float -> e:'Float -> f:'Float -> a (Wave b c d e f)) -> g:'Wave -> a g 23'WaveCase :: (a : 'Wave->Type) -> ((b:'WaveType) -> (c:'Float) -> (d:'Float) -> (e:'Float) -> (f:'Float) -> a (Wave b c d e f)) -> (g:'Wave) -> a g
24match'Wave :: (a : Type->Type) -> a 'Wave -> b:Type -> a b -> a b 24match'Wave :: (a : Type->Type) -> a 'Wave -> (b:Type) -> a b -> a b
25'Deform :: Type 25'Deform :: Type
26D_AutoSprite :: 'Deform 26D_AutoSprite :: 'Deform
27D_AutoSprite2 :: 'Deform 27D_AutoSprite2 :: 'Deform
@@ -38,14 +38,14 @@ D_Text5 :: 'Deform
38D_Text6 :: 'Deform 38D_Text6 :: 'Deform
39D_Text7 :: 'Deform 39D_Text7 :: 'Deform
40D_Wave :: 'Float -> 'Wave->'Deform 40D_Wave :: 'Float -> 'Wave->'Deform
41'DeformCase :: (a : 'Deform->Type) -> a D_AutoSprite -> a D_AutoSprite2 -> (b:'Float -> c:'Float -> d:'Float -> a (D_Bulge b c d)) -> ((e : 'Vec 3 'Float) -> f:'Wave -> a (D_Move e f)) -> (g:'Float -> h:'Float -> a (D_Normal g h)) -> a D_ProjectionShadow -> a D_Text0 -> a D_Text1 -> a D_Text2 -> a D_Text3 -> a D_Text4 -> a D_Text5 -> a D_Text6 -> a D_Text7 -> (i:'Float -> j:'Wave -> a (D_Wave i j)) -> k:'Deform -> a k 41'DeformCase :: (a : 'Deform->Type) -> a D_AutoSprite -> a D_AutoSprite2 -> ((b:'Float) -> (c:'Float) -> (d:'Float) -> a (D_Bulge b c d)) -> ((e : 'Vec 3 'Float) -> (f:'Wave) -> a (D_Move e f)) -> ((g:'Float) -> (h:'Float) -> a (D_Normal g h)) -> a D_ProjectionShadow -> a D_Text0 -> a D_Text1 -> a D_Text2 -> a D_Text3 -> a D_Text4 -> a D_Text5 -> a D_Text6 -> a D_Text7 -> ((i:'Float) -> (j:'Wave) -> a (D_Wave i j)) -> (k:'Deform) -> a k
42match'Deform :: (a : Type->Type) -> a 'Deform -> b:Type -> a b -> a b 42match'Deform :: (a : Type->Type) -> a 'Deform -> (b:Type) -> a b -> a b
43'CullType :: Type 43'CullType :: Type
44CT_FrontSided :: 'CullType 44CT_FrontSided :: 'CullType
45CT_BackSided :: 'CullType 45CT_BackSided :: 'CullType
46CT_TwoSided :: 'CullType 46CT_TwoSided :: 'CullType
47'CullTypeCase :: (a : 'CullType->Type) -> a CT_FrontSided -> a CT_BackSided -> a CT_TwoSided -> b:'CullType -> a b 47'CullTypeCase :: (a : 'CullType->Type) -> a CT_FrontSided -> a CT_BackSided -> a CT_TwoSided -> (b:'CullType) -> a b
48match'CullType :: (a : Type->Type) -> a 'CullType -> b:Type -> a b -> a b 48match'CullType :: (a : Type->Type) -> a 'CullType -> (b:Type) -> a b -> a b
49'Blending' :: Type 49'Blending' :: Type
50B_DstAlpha :: 'Blending' 50B_DstAlpha :: 'Blending'
51B_DstColor :: 'Blending' 51B_DstColor :: 'Blending'
@@ -58,8 +58,8 @@ B_SrcAlpha :: 'Blending'
58B_SrcAlphaSaturate :: 'Blending' 58B_SrcAlphaSaturate :: 'Blending'
59B_SrcColor :: 'Blending' 59B_SrcColor :: 'Blending'
60B_Zero :: 'Blending' 60B_Zero :: 'Blending'
61'Blending'Case :: (a : 'Blending'->Type) -> a B_DstAlpha -> a B_DstColor -> a B_One -> a B_OneMinusDstAlpha -> a B_OneMinusDstColor -> a B_OneMinusSrcAlpha -> a B_OneMinusSrcColor -> a B_SrcAlpha -> a B_SrcAlphaSaturate -> a B_SrcColor -> a B_Zero -> b:'Blending' -> a b 61'Blending'Case :: (a : 'Blending'->Type) -> a B_DstAlpha -> a B_DstColor -> a B_One -> a B_OneMinusDstAlpha -> a B_OneMinusDstColor -> a B_OneMinusSrcAlpha -> a B_OneMinusSrcColor -> a B_SrcAlpha -> a B_SrcAlphaSaturate -> a B_SrcColor -> a B_Zero -> (b:'Blending') -> a b
62match'Blending' :: (a : Type->Type) -> a 'Blending' -> b:Type -> a b -> a b 62match'Blending' :: (a : Type->Type) -> a 'Blending' -> (b:Type) -> a b -> a b
63'RGBGen :: Type 63'RGBGen :: Type
64RGB_Wave :: 'Wave->'RGBGen 64RGB_Wave :: 'Wave->'RGBGen
65RGB_Const :: 'Float -> 'Float -> 'Float->'RGBGen 65RGB_Const :: 'Float -> 'Float -> 'Float->'RGBGen
@@ -72,8 +72,8 @@ RGB_Vertex :: 'RGBGen
72RGB_LightingDiffuse :: 'RGBGen 72RGB_LightingDiffuse :: 'RGBGen
73RGB_OneMinusVertex :: 'RGBGen 73RGB_OneMinusVertex :: 'RGBGen
74RGB_Undefined :: 'RGBGen 74RGB_Undefined :: 'RGBGen
75'RGBGenCase :: (a : 'RGBGen->Type) -> (b:'Wave -> a (RGB_Wave b)) -> (c:'Float -> d:'Float -> e:'Float -> a (RGB_Const c d e)) -> a RGB_Identity -> a RGB_IdentityLighting -> a RGB_Entity -> a RGB_OneMinusEntity -> a RGB_ExactVertex -> a RGB_Vertex -> a RGB_LightingDiffuse -> a RGB_OneMinusVertex -> a RGB_Undefined -> f:'RGBGen -> a f 75'RGBGenCase :: (a : 'RGBGen->Type) -> ((b:'Wave) -> a (RGB_Wave b)) -> ((c:'Float) -> (d:'Float) -> (e:'Float) -> a (RGB_Const c d e)) -> a RGB_Identity -> a RGB_IdentityLighting -> a RGB_Entity -> a RGB_OneMinusEntity -> a RGB_ExactVertex -> a RGB_Vertex -> a RGB_LightingDiffuse -> a RGB_OneMinusVertex -> a RGB_Undefined -> (f:'RGBGen) -> a f
76match'RGBGen :: (a : Type->Type) -> a 'RGBGen -> b:Type -> a b -> a b 76match'RGBGen :: (a : Type->Type) -> a 'RGBGen -> (b:Type) -> a b -> a b
77'AlphaGen :: Type 77'AlphaGen :: Type
78A_Wave :: 'Wave->'AlphaGen 78A_Wave :: 'Wave->'AlphaGen
79A_Const :: 'Float->'AlphaGen 79A_Const :: 'Float->'AlphaGen
@@ -84,16 +84,16 @@ A_OneMinusEntity :: 'AlphaGen
84A_Vertex :: 'AlphaGen 84A_Vertex :: 'AlphaGen
85A_LightingSpecular :: 'AlphaGen 85A_LightingSpecular :: 'AlphaGen
86A_OneMinusVertex :: 'AlphaGen 86A_OneMinusVertex :: 'AlphaGen
87'AlphaGenCase :: (a : 'AlphaGen->Type) -> (b:'Wave -> a (A_Wave b)) -> (c:'Float -> a (A_Const c)) -> a A_Portal -> a A_Identity -> a A_Entity -> a A_OneMinusEntity -> a A_Vertex -> a A_LightingSpecular -> a A_OneMinusVertex -> d:'AlphaGen -> a d 87'AlphaGenCase :: (a : 'AlphaGen->Type) -> ((b:'Wave) -> a (A_Wave b)) -> ((c:'Float) -> a (A_Const c)) -> a A_Portal -> a A_Identity -> a A_Entity -> a A_OneMinusEntity -> a A_Vertex -> a A_LightingSpecular -> a A_OneMinusVertex -> (d:'AlphaGen) -> a d
88match'AlphaGen :: (a : Type->Type) -> a 'AlphaGen -> b:Type -> a b -> a b 88match'AlphaGen :: (a : Type->Type) -> a 'AlphaGen -> (b:Type) -> a b -> a b
89'TCGen :: Type 89'TCGen :: Type
90TG_Base :: 'TCGen 90TG_Base :: 'TCGen
91TG_Lightmap :: 'TCGen 91TG_Lightmap :: 'TCGen
92TG_Environment :: 'TCGen 92TG_Environment :: 'TCGen
93TG_Vector :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'TCGen 93TG_Vector :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'TCGen
94TG_Undefined :: 'TCGen 94TG_Undefined :: 'TCGen
95'TCGenCase :: (a : 'TCGen->Type) -> a TG_Base -> a TG_Lightmap -> a TG_Environment -> ((b : 'Vec 3 'Float) -> (c : 'Vec 3 'Float) -> a (TG_Vector b c)) -> a TG_Undefined -> d:'TCGen -> a d 95'TCGenCase :: (a : 'TCGen->Type) -> a TG_Base -> a TG_Lightmap -> a TG_Environment -> ((b : 'Vec 3 'Float) -> (c : 'Vec 3 'Float) -> a (TG_Vector b c)) -> a TG_Undefined -> (d:'TCGen) -> a d
96match'TCGen :: (a : Type->Type) -> a 'TCGen -> b:Type -> a b -> a b 96match'TCGen :: (a : Type->Type) -> a 'TCGen -> (b:Type) -> a b -> a b
97'TCMod :: Type 97'TCMod :: Type
98TM_EntityTranslate :: 'TCMod 98TM_EntityTranslate :: 'TCMod
99TM_Rotate :: 'Float->'TCMod 99TM_Rotate :: 'Float->'TCMod
@@ -102,31 +102,31 @@ TM_Scale :: 'Float -> 'Float->'TCMod
102TM_Stretch :: 'Wave->'TCMod 102TM_Stretch :: 'Wave->'TCMod
103TM_Transform :: 'Float -> 'Float -> 'Float -> 'Float -> 'Float -> 'Float->'TCMod 103TM_Transform :: 'Float -> 'Float -> 'Float -> 'Float -> 'Float -> 'Float->'TCMod
104TM_Turb :: 'Float -> 'Float -> 'Float -> 'Float->'TCMod 104TM_Turb :: 'Float -> 'Float -> 'Float -> 'Float->'TCMod
105'TCModCase :: (a : 'TCMod->Type) -> a TM_EntityTranslate -> (b:'Float -> a (TM_Rotate b)) -> (c:'Float -> d:'Float -> a (TM_Scroll c d)) -> (e:'Float -> f:'Float -> a (TM_Scale e f)) -> (g:'Wave -> a (TM_Stretch g)) -> (h:'Float -> i:'Float -> j:'Float -> k:'Float -> l:'Float -> m:'Float -> a (TM_Transform h i j k l m)) -> (n:'Float -> o:'Float -> p:'Float -> q:'Float -> a (TM_Turb n o p q)) -> r:'TCMod -> a r 105'TCModCase :: (a : 'TCMod->Type) -> a TM_EntityTranslate -> ((b:'Float) -> a (TM_Rotate b)) -> ((c:'Float) -> (d:'Float) -> a (TM_Scroll c d)) -> ((e:'Float) -> (f:'Float) -> a (TM_Scale e f)) -> ((g:'Wave) -> a (TM_Stretch g)) -> ((h:'Float) -> (i:'Float) -> (j:'Float) -> (k:'Float) -> (l:'Float) -> (m:'Float) -> a (TM_Transform h i j k l m)) -> ((n:'Float) -> (o:'Float) -> (p:'Float) -> (q:'Float) -> a (TM_Turb n o p q)) -> (r:'TCMod) -> a r
106match'TCMod :: (a : Type->Type) -> a 'TCMod -> b:Type -> a b -> a b 106match'TCMod :: (a : Type->Type) -> a 'TCMod -> (b:Type) -> a b -> a b
107'StageTexture :: Type 107'StageTexture :: Type
108ST_Map :: 'String->'StageTexture 108ST_Map :: 'String->'StageTexture
109ST_ClampMap :: 'String->'StageTexture 109ST_ClampMap :: 'String->'StageTexture
110ST_AnimMap :: 'Float -> 'List 'String -> 'StageTexture 110ST_AnimMap :: 'Float -> 'List 'String -> 'StageTexture
111ST_Lightmap :: 'StageTexture 111ST_Lightmap :: 'StageTexture
112ST_WhiteImage :: 'StageTexture 112ST_WhiteImage :: 'StageTexture
113'StageTextureCase :: (a : 'StageTexture->Type) -> (b:'String -> a (ST_Map b)) -> (c:'String -> a (ST_ClampMap c)) -> (d:'Float -> (e : 'List 'String) -> a (ST_AnimMap d e)) -> a ST_Lightmap -> a ST_WhiteImage -> f:'StageTexture -> a f 113'StageTextureCase :: (a : 'StageTexture->Type) -> ((b:'String) -> a (ST_Map b)) -> ((c:'String) -> a (ST_ClampMap c)) -> ((d:'Float) -> (e : 'List 'String) -> a (ST_AnimMap d e)) -> a ST_Lightmap -> a ST_WhiteImage -> (f:'StageTexture) -> a f
114match'StageTexture :: (a : Type->Type) -> a 'StageTexture -> b:Type -> a b -> a b 114match'StageTexture :: (a : Type->Type) -> a 'StageTexture -> (b:Type) -> a b -> a b
115'AlphaFunction :: Type 115'AlphaFunction :: Type
116A_Gt0 :: 'AlphaFunction 116A_Gt0 :: 'AlphaFunction
117A_Lt128 :: 'AlphaFunction 117A_Lt128 :: 'AlphaFunction
118A_Ge128 :: 'AlphaFunction 118A_Ge128 :: 'AlphaFunction
119'AlphaFunctionCase :: (a : 'AlphaFunction->Type) -> a A_Gt0 -> a A_Lt128 -> a A_Ge128 -> b:'AlphaFunction -> a b 119'AlphaFunctionCase :: (a : 'AlphaFunction->Type) -> a A_Gt0 -> a A_Lt128 -> a A_Ge128 -> (b:'AlphaFunction) -> a b
120match'AlphaFunction :: (a : Type->Type) -> a 'AlphaFunction -> b:Type -> a b -> a b 120match'AlphaFunction :: (a : Type->Type) -> a 'AlphaFunction -> (b:Type) -> a b -> a b
121'DepthFunction :: Type 121'DepthFunction :: Type
122D_Equal :: 'DepthFunction 122D_Equal :: 'DepthFunction
123D_Lequal :: 'DepthFunction 123D_Lequal :: 'DepthFunction
124'DepthFunctionCase :: (a : 'DepthFunction->Type) -> a D_Equal -> a D_Lequal -> b:'DepthFunction -> a b 124'DepthFunctionCase :: (a : 'DepthFunction->Type) -> a D_Equal -> a D_Lequal -> (b:'DepthFunction) -> a b
125match'DepthFunction :: (a : Type->Type) -> a 'DepthFunction -> b:Type -> a b -> a b 125match'DepthFunction :: (a : Type->Type) -> a 'DepthFunction -> (b:Type) -> a b -> a b
126'StageAttrs :: Type 126'StageAttrs :: Type
127StageAttrs :: 'Maybe ('Blending', 'Blending') -> 'RGBGen -> 'AlphaGen -> 'TCGen -> 'List 'TCMod -> 'StageTexture -> 'Bool -> 'DepthFunction -> 'Maybe 'AlphaFunction -> 'Bool -> 'String->'StageAttrs 127StageAttrs :: 'Maybe ('Blending', 'Blending') -> 'RGBGen -> 'AlphaGen -> 'TCGen -> 'List 'TCMod -> 'StageTexture -> 'Bool -> 'DepthFunction -> 'Maybe 'AlphaFunction -> 'Bool -> 'String->'StageAttrs
128'StageAttrsCase :: (a : 'StageAttrs->Type) -> ((b : 'Maybe ('Blending', 'Blending')) -> c:'RGBGen -> d:'AlphaGen -> e:'TCGen -> (f : 'List 'TCMod) -> g:'StageTexture -> h:'Bool -> i:'DepthFunction -> (j : 'Maybe 'AlphaFunction) -> k:'Bool -> l:'String -> a (StageAttrs b c d e f g h i j k l)) -> m:'StageAttrs -> a m 128'StageAttrsCase :: (a : 'StageAttrs->Type) -> ((b : 'Maybe ('Blending', 'Blending')) -> (c:'RGBGen) -> (d:'AlphaGen) -> (e:'TCGen) -> (f : 'List 'TCMod) -> (g:'StageTexture) -> (h:'Bool) -> (i:'DepthFunction) -> (j : 'Maybe 'AlphaFunction) -> (k:'Bool) -> (l:'String) -> a (StageAttrs b c d e f g h i j k l)) -> (m:'StageAttrs) -> a m
129match'StageAttrs :: (a : Type->Type) -> a 'StageAttrs -> b:Type -> a b -> a b 129match'StageAttrs :: (a : Type->Type) -> a 'StageAttrs -> (b:Type) -> a b -> a b
130saBlend :: 'StageAttrs -> 'Maybe ('Blending', 'Blending') 130saBlend :: 'StageAttrs -> 'Maybe ('Blending', 'Blending')
131saRGBGen :: 'StageAttrs->'RGBGen 131saRGBGen :: 'StageAttrs->'RGBGen
132saAlphaGen :: 'StageAttrs->'AlphaGen 132saAlphaGen :: 'StageAttrs->'AlphaGen
@@ -141,8 +141,8 @@ saTextureUniform :: 'StageAttrs->'String
141defaultStageAttrs :: 'StageAttrs 141defaultStageAttrs :: 'StageAttrs
142'CommonAttrs :: Type 142'CommonAttrs :: Type
143CommonAttrs :: () -> () -> 'Bool -> 'Float -> 'Bool -> 'Bool -> 'CullType -> 'List 'Deform -> 'Bool -> 'Bool -> 'List 'StageAttrs -> 'Bool->'CommonAttrs 143CommonAttrs :: () -> () -> 'Bool -> 'Float -> 'Bool -> 'Bool -> 'CullType -> 'List 'Deform -> 'Bool -> 'Bool -> 'List 'StageAttrs -> 'Bool->'CommonAttrs
144'CommonAttrsCase :: (a : 'CommonAttrs->Type) -> (b:() -> c:() -> d:'Bool -> e:'Float -> f:'Bool -> g:'Bool -> h:'CullType -> (i : 'List 'Deform) -> j:'Bool -> k:'Bool -> (l : 'List 'StageAttrs) -> m:'Bool -> a (CommonAttrs b c d e f g h i j k l m)) -> n:'CommonAttrs -> a n 144'CommonAttrsCase :: (a : 'CommonAttrs->Type) -> ((b:()) -> (c:()) -> (d:'Bool) -> (e:'Float) -> (f:'Bool) -> (g:'Bool) -> (h:'CullType) -> (i : 'List 'Deform) -> (j:'Bool) -> (k:'Bool) -> (l : 'List 'StageAttrs) -> (m:'Bool) -> a (CommonAttrs b c d e f g h i j k l m)) -> (n:'CommonAttrs) -> a n
145match'CommonAttrs :: (a : Type->Type) -> a 'CommonAttrs -> b:Type -> a b -> a b 145match'CommonAttrs :: (a : Type->Type) -> a 'CommonAttrs -> (b:Type) -> a b -> a b
146caSkyParms :: 'CommonAttrs->() 146caSkyParms :: 'CommonAttrs->()
147caFogParms :: 'CommonAttrs->() 147caFogParms :: 'CommonAttrs->()
148caPortal :: 'CommonAttrs->'Bool 148caPortal :: 'CommonAttrs->'Bool
diff --git a/testdata/Prelude.out b/testdata/Prelude.out
index ee451b4f..631f7aea 100644
--- a/testdata/Prelude.out
+++ b/testdata/Prelude.out
@@ -2,15 +2,15 @@ main is not found
2------------ trace 2------------ trace
3const :: {a} -> {b} -> a -> b->a 3const :: {a} -> {b} -> a -> b->a
4otherwise :: 'Bool 4otherwise :: 'Bool
5& :: {a} -> {b} -> a -> a->b -> b 5& :: {a} -> {b} -> a -> (a->b)->b
6$ :: {a} -> {b} -> a->b -> a->b 6$ :: {a} -> {b} -> (a->b) -> a->b
7. :: {a} -> {b} -> {c} -> b->c -> a->b -> a->c 7. :: {a} -> {b} -> {c} -> (b->c) -> (a->b) -> a->c
8uncurry :: {a} -> {b} -> {c} -> (a -> c->b) -> (a, c)->b 8uncurry :: {a} -> {b} -> {c} -> (a -> c->b) -> (a, c)->b
9*** :: {a} -> {b} -> {c} -> {d} -> a->c -> b->d -> (a, b)->(c, d) 9*** :: {a} -> {b} -> {c} -> {d} -> (a->c) -> (b->d) -> (a, b)->(c, d)
10pi :: 'Float 10pi :: 'Float
11zip :: {a} -> {b} -> 'List a -> 'List b -> 'List (a, b) 11zip :: {a} -> {b} -> 'List a -> 'List b -> 'List (a, b)
12unzip :: {a} -> {b} -> 'List (a, b) -> ('List a, 'List b) 12unzip :: {a} -> {b} -> 'List (a, b) -> ('List a, 'List b)
13filter :: {a} -> a->'Bool -> 'List a -> 'List a 13filter :: {a} -> (a->'Bool) -> 'List a -> 'List a
14tail :: {a} -> 'List a -> 'List a 14tail :: {a} -> 'List a -> 'List a
15pairs :: {a} -> 'List a -> 'List (a, a) 15pairs :: {a} -> 'List a -> 'List (a, a)
16foldl' :: {a} -> {b} -> (a -> b->a) -> a -> 'List b -> a 16foldl' :: {a} -> {b} -> (a -> b->a) -> a -> 'List b -> a
@@ -18,24 +18,24 @@ foldr1 :: {a} -> (a -> a->a) -> 'List a -> a
18split :: {a} -> 'List a -> ('List a, 'List a) 18split :: {a} -> 'List a -> ('List a, 'List a)
19mergeBy :: {a} -> (a -> a->'Ordering) -> 'List a -> 'List a -> 'List a 19mergeBy :: {a} -> (a -> a->'Ordering) -> 'List a -> 'List a -> 'List a
20sortBy :: {a} -> (a -> a->'Ordering) -> 'List a -> 'List a 20sortBy :: {a} -> (a -> a->'Ordering) -> 'List a -> 'List a
21iterate :: {a} -> a->a -> a -> 'List a 21iterate :: {a} -> (a->a) -> a -> 'List a
22fst :: {a} -> {b} -> (a, b)->a 22fst :: {a} -> {b} -> (a, b)->a
23snd :: {a} -> {b} -> (a, b)->b 23snd :: {a} -> {b} -> (a, b)->b
24||| :: 'Bool -> 'Bool->'Bool 24||| :: 'Bool -> 'Bool->'Bool
25&&& :: 'Bool -> 'Bool->'Bool 25&&& :: 'Bool -> 'Bool->'Bool
26'RecItem :: Type 26'RecItem :: Type
27RecItem :: 'String -> Type->'RecItem 27RecItem :: 'String -> Type->'RecItem
28'RecItemCase :: (a : 'RecItem->Type) -> (b:'String -> c:Type -> a (RecItem b c)) -> d:'RecItem -> a d 28'RecItemCase :: (a : 'RecItem->Type) -> ((b:'String) -> (c:Type) -> a (RecItem b c)) -> (d:'RecItem) -> a d
29match'RecItem :: (a : Type->Type) -> a 'RecItem -> b:Type -> a b -> a b 29match'RecItem :: (a : Type->Type) -> a 'RecItem -> (b:Type) -> a b -> a b
30recItemType :: 'RecItem->Type 30recItemType :: 'RecItem->Type
31'RecordC :: 'List 'RecItem -> Type 31'RecordC :: 'List 'RecItem -> Type
32RecordCons :: {a : 'List 'RecItem} -> 'HList (map 'RecItem Type recItemType a) -> 'RecordC a 32RecordCons :: {a : 'List 'RecItem} -> 'HList (map 'RecItem Type recItemType a) -> 'RecordC a
33'RecordCCase :: {a : 'List 'RecItem} -> (b : 'RecordC a -> Type) -> ((c : 'HList (map 'RecItem Type recItemType a)) -> b (RecordCons c)) -> (d : 'RecordC a) -> b d 33'RecordCCase :: {a : 'List 'RecItem} -> (b : 'RecordC a -> Type) -> ((c : 'HList (map 'RecItem Type recItemType a)) -> b (RecordCons c)) -> (d : 'RecordC a) -> b d
34match'RecordC :: (a : Type->Type) -> ((b : 'List 'RecItem) -> a ('RecordC b)) -> c:Type -> a c -> a c 34match'RecordC :: (a : Type->Type) -> ((b : 'List 'RecItem) -> a ('RecordC b)) -> (c:Type) -> a c -> a c
35isKeyC :: 'String -> Type -> 'List 'RecItem -> Type 35isKeyC :: 'String -> Type -> 'List 'RecItem -> Type
36fstTup :: {a} -> {b : 'List Type} -> 'HList (Cons a b) -> a 36fstTup :: {a} -> {b : 'List Type} -> 'HList (Cons a b) -> a
37sndTup :: {a} -> {b : 'List Type} -> 'HList (Cons a b) -> 'HList b 37sndTup :: {a} -> {b : 'List Type} -> 'HList (Cons a b) -> 'HList b
38project :: {a} -> {b : 'List 'RecItem} -> c:'String -> {_ : isKeyC c a b} -> 'RecordC b -> a 38project :: {a} -> {b : 'List 'RecItem} -> (c:'String) -> {_ : isKeyC c a b} -> 'RecordC b -> a
39rgb :: 'Float -> 'Float -> 'Float -> 'VecS 'Float 4 39rgb :: 'Float -> 'Float -> 'Float -> 'VecS 'Float 4
40black :: 'VecS 'Float 4 40black :: 'VecS 'Float 4
41gray :: 'VecS 'Float 4 41gray :: 'VecS 'Float 4
@@ -176,13 +176,13 @@ testdata/Prelude.lc 16:1-16:6 {a} -> {b} -> a -> b->a
176testdata/Prelude.lc 16:13-16:14 d_ 176testdata/Prelude.lc 16:13-16:14 d_
177testdata/Prelude.lc 18:1-18:10 Bool 177testdata/Prelude.lc 18:1-18:10 Bool
178testdata/Prelude.lc 18:13-18:17 Bool 178testdata/Prelude.lc 18:13-18:17 Bool
179testdata/Prelude.lc 20:3-20:4 {a} -> {b} -> a -> a->b -> b 179testdata/Prelude.lc 20:3-20:4 {a} -> {b} -> a -> (a->b)->b
180testdata/Prelude.lc 20:9-20:10 b_ 180testdata/Prelude.lc 20:9-20:10 b_
181testdata/Prelude.lc 20:11-20:12 g_ 181testdata/Prelude.lc 20:11-20:12 g_
182testdata/Prelude.lc 22:2-22:3 {a} -> {b} -> a->b -> a->b 182testdata/Prelude.lc 22:2-22:3 {a} -> {b} -> (a->b) -> a->b
183testdata/Prelude.lc 22:15-22:16 d_ 183testdata/Prelude.lc 22:15-22:16 d_
184testdata/Prelude.lc 22:17-22:18 e_ 184testdata/Prelude.lc 22:17-22:18 e_
185testdata/Prelude.lc 23:2-23:3 {a} -> {b} -> {c} -> b->c -> a->b -> a->c 185testdata/Prelude.lc 23:2-23:3 {a} -> {b} -> {c} -> (b->c) -> (a->b) -> a->c
186testdata/Prelude.lc 23:17-23:18 f_ 186testdata/Prelude.lc 23:17-23:18 f_
187testdata/Prelude.lc 23:20-23:21 g_ 187testdata/Prelude.lc 23:20-23:21 g_
188testdata/Prelude.lc 23:22-23:23 h_ 188testdata/Prelude.lc 23:22-23:23 h_
@@ -191,7 +191,7 @@ testdata/Prelude.lc 25:20-25:21 o_
191testdata/Prelude.lc 25:20-25:25 HList c_ -> c_ | c_ | c_ -> HList c_ -> c_ | d_ 191testdata/Prelude.lc 25:20-25:25 HList c_ -> c_ | c_ | c_ -> HList c_ -> c_ | d_
192testdata/Prelude.lc 25:22-25:23 n_ 192testdata/Prelude.lc 25:22-25:23 n_
193testdata/Prelude.lc 25:24-25:25 j_ 193testdata/Prelude.lc 25:24-25:25 j_
194testdata/Prelude.lc 27:2-27:5 {a} -> {b} -> {c} -> {d} -> a->c -> b->d -> (a, b)->(c, d) 194testdata/Prelude.lc 27:2-27:5 {a} -> {b} -> {c} -> {d} -> (a->c) -> (b->d) -> (a, b)->(c, d)
195testdata/Prelude.lc 27:20-27:30 (b_, a_) | HList c_ -> c_ | c_ -> HList c_ -> c_ 195testdata/Prelude.lc 27:20-27:30 (b_, a_) | HList c_ -> c_ | c_ -> HList c_ -> c_
196testdata/Prelude.lc 27:21-27:22 s_ 196testdata/Prelude.lc 27:21-27:22 s_
197testdata/Prelude.lc 27:23-27:24 p_ 197testdata/Prelude.lc 27:23-27:24 p_
@@ -264,7 +264,7 @@ testdata/Prelude.lc 39:13-39:15 HList c_ -> c_ | c_ | c_ -> HList c_ -> c_ | f_
264testdata/Prelude.lc 39:19-39:24 {a} -> {b} -> List (a, b) -> (List a, List b) 264testdata/Prelude.lc 39:19-39:24 {a} -> {b} -> List (a, b) -> (List a, List b)
265testdata/Prelude.lc 39:19-39:27 (List b_, List a_) 265testdata/Prelude.lc 39:19-39:27 (List b_, List a_)
266testdata/Prelude.lc 39:25-39:27 List r_ 266testdata/Prelude.lc 39:25-39:27 List r_
267testdata/Prelude.lc 41:1-41:7 {a} -> a->Bool -> List a -> List a 267testdata/Prelude.lc 41:1-41:7 {a} -> (a->Bool) -> List a -> List a
268testdata/Prelude.lc 41:21-41:23 {a} -> List a 268testdata/Prelude.lc 41:21-41:23 {a} -> List a
269testdata/Prelude.lc 41:21-44:49 List a_ -> List b_ | a_->b_ 269testdata/Prelude.lc 41:21-44:49 List a_ -> List b_ | a_->b_
270testdata/Prelude.lc 42:22-44:49 List c_ | List c_ -> List c_ | b_ -> List c_ -> List c_ 270testdata/Prelude.lc 42:22-44:49 List c_ | List c_ -> List c_ | b_ -> List c_ -> List c_
@@ -392,10 +392,10 @@ testdata/Prelude.lc 71:24-71:33 List a_ -> List b_ -> List c_
392testdata/Prelude.lc 71:32-71:33 o_ 392testdata/Prelude.lc 71:32-71:33 o_
393testdata/Prelude.lc 71:36-71:70 (List h_, List h_) 393testdata/Prelude.lc 71:36-71:70 (List h_, List h_)
394testdata/Prelude.lc 71:37-71:43 p_ 394testdata/Prelude.lc 71:37-71:43 p_
395testdata/Prelude.lc 71:37-71:49 c_->b_ -> (e_, d_)->(d_, c_) 395testdata/Prelude.lc 71:37-71:49 (c_->b_) -> (e_, d_)->(d_, c_)
396testdata/Prelude.lc 71:37-71:58 (b_, b_)->(b_, b_) 396testdata/Prelude.lc 71:37-71:58 (b_, b_)->(b_, b_)
397testdata/Prelude.lc 71:44-71:45 n_ -> o_->Ordering 397testdata/Prelude.lc 71:44-71:45 n_ -> o_->Ordering
398testdata/Prelude.lc 71:46-71:49 {a} -> {b} -> {c} -> {d} -> a->c -> b->d -> (a, b)->(c, d) 398testdata/Prelude.lc 71:46-71:49 {a} -> {b} -> {c} -> {d} -> (a->c) -> (b->d) -> (a, b)->(c, d)
399testdata/Prelude.lc 71:50-71:56 (k_ -> l_->Ordering) -> e_->d_ 399testdata/Prelude.lc 71:50-71:56 (k_ -> l_->Ordering) -> e_->d_
400testdata/Prelude.lc 71:50-71:58 b_->b_ 400testdata/Prelude.lc 71:50-71:58 b_->b_
401testdata/Prelude.lc 71:57-71:58 i_ -> j_->Ordering 401testdata/Prelude.lc 71:57-71:58 i_ -> j_->Ordering
@@ -403,19 +403,19 @@ testdata/Prelude.lc 71:61-71:66 {a} -> List a -> (List a, List a)
403testdata/Prelude.lc 71:61-71:69 (List a_, List a_) 403testdata/Prelude.lc 71:61-71:69 (List a_, List a_)
404testdata/Prelude.lc 71:67-71:69 k_ 404testdata/Prelude.lc 71:67-71:69 k_
405testdata/Prelude.lc 73:12-73:32 Type 405testdata/Prelude.lc 73:12-73:32 Type
406testdata/Prelude.lc 73:12-74:35 a_->b_ | {a} -> a->a -> a -> List a 406testdata/Prelude.lc 73:12-74:35 a_->b_ | {a} -> (a->a) -> a -> List a
407testdata/Prelude.lc 73:13-73:14 b_ 407testdata/Prelude.lc 73:13-73:14 b_
408testdata/Prelude.lc 73:18-73:19 Type 408testdata/Prelude.lc 73:18-73:19 Type
409testdata/Prelude.lc 73:24-73:25 Type 409testdata/Prelude.lc 73:24-73:25 Type
410testdata/Prelude.lc 73:24-73:32 Type 410testdata/Prelude.lc 73:24-73:32 Type
411testdata/Prelude.lc 73:29-73:32 Type 411testdata/Prelude.lc 73:29-73:32 Type
412testdata/Prelude.lc 73:30-73:31 Type 412testdata/Prelude.lc 73:30-73:31 Type
413testdata/Prelude.lc 74:1-74:8 {a} -> a->a -> a -> List a 413testdata/Prelude.lc 74:1-74:8 {a} -> (a->a) -> a -> List a
414testdata/Prelude.lc 74:16-74:17 d_ 414testdata/Prelude.lc 74:16-74:17 d_
415testdata/Prelude.lc 74:16-74:19 List c_ -> List d_ 415testdata/Prelude.lc 74:16-74:19 List c_ -> List d_
416testdata/Prelude.lc 74:16-74:35 List c_ | a_->b_ -> b_ -> List c_ | b_ -> List c_ 416testdata/Prelude.lc 74:16-74:35 (a_->b_) -> b_ -> List c_ | List c_ | b_ -> List c_
417testdata/Prelude.lc 74:18-74:19 {a} -> a -> List a -> List a 417testdata/Prelude.lc 74:18-74:19 {a} -> a -> List a -> List a
418testdata/Prelude.lc 74:20-74:27 {a} -> a->a -> a -> List a 418testdata/Prelude.lc 74:20-74:27 {a} -> (a->a) -> a -> List a
419testdata/Prelude.lc 74:20-74:29 c_ -> List d_ 419testdata/Prelude.lc 74:20-74:29 c_ -> List d_
420testdata/Prelude.lc 74:20-74:35 List c_ 420testdata/Prelude.lc 74:20-74:35 List c_
421testdata/Prelude.lc 74:28-74:29 d_->e_ 421testdata/Prelude.lc 74:28-74:29 d_->e_
@@ -452,7 +452,7 @@ testdata/Prelude.lc 126:22-126:29 Type
452testdata/Prelude.lc 127:7-127:17 RecordC c_ | Type | {a : List RecItem} -> HList ('map RecItem Type 'recItemType a) -> RecordC a 452testdata/Prelude.lc 127:7-127:17 RecordC c_ | Type | {a : List RecItem} -> HList ('map RecItem Type 'recItemType a) -> RecordC a
453testdata/Prelude.lc 127:19-127:24 List Type -> Type 453testdata/Prelude.lc 127:19-127:24 List Type -> Type
454testdata/Prelude.lc 127:19-127:45 Type 454testdata/Prelude.lc 127:19-127:45 Type
455testdata/Prelude.lc 127:26-127:29 {a} -> {b} -> a->b -> List a -> List b 455testdata/Prelude.lc 127:26-127:29 {a} -> {b} -> (a->b) -> List a -> List b
456testdata/Prelude.lc 127:26-127:41 List RecItem -> List Type 456testdata/Prelude.lc 127:26-127:41 List RecItem -> List Type
457testdata/Prelude.lc 127:26-127:44 List Type 457testdata/Prelude.lc 127:26-127:44 List Type
458testdata/Prelude.lc 127:30-127:41 RecItem->Type 458testdata/Prelude.lc 127:30-127:41 RecItem->Type
@@ -479,18 +479,18 @@ testdata/Prelude.lc 130:69-130:70 String
479testdata/Prelude.lc 130:71-130:72 Type 479testdata/Prelude.lc 130:71-130:72 Type
480testdata/Prelude.lc 130:73-130:75 List i_ 480testdata/Prelude.lc 130:73-130:75 List i_
481testdata/Prelude.lc 132:1-132:7 {a} -> {b : List Type} -> HList ('Cons a b) -> a 481testdata/Prelude.lc 132:1-132:7 {a} -> {b : List Type} -> HList ('Cons a b) -> a
482testdata/Prelude.lc 132:10-132:23 {a} -> {b : List Type} -> c:Type -> (a -> HList b -> c) -> HList ('Cons a b) -> c 482testdata/Prelude.lc 132:10-132:23 {a} -> {b : List Type} -> (c:Type) -> (a -> HList b -> c) -> HList ('Cons a b) -> c
483testdata/Prelude.lc 132:10-132:25 (c_ -> HList c_ -> c_) -> HList ('Cons d_ c_) -> c_ 483testdata/Prelude.lc 132:10-132:25 (c_ -> HList c_ -> c_) -> HList ('Cons d_ c_) -> c_
484testdata/Prelude.lc 132:10-132:37 HList ('Cons b_ a_) -> c_ 484testdata/Prelude.lc 132:10-132:37 HList ('Cons b_ a_) -> c_
485testdata/Prelude.lc 132:27-132:36 c_ -> HList c_ -> c_ 485testdata/Prelude.lc 132:27-132:36 c_ -> HList c_ -> c_
486testdata/Prelude.lc 132:35-132:36 HList c_ -> c_ | e_ 486testdata/Prelude.lc 132:35-132:36 HList c_ -> c_ | e_
487testdata/Prelude.lc 133:1-133:7 {a} -> {b : List Type} -> HList ('Cons a b) -> HList b 487testdata/Prelude.lc 133:1-133:7 {a} -> {b : List Type} -> HList ('Cons a b) -> HList b
488testdata/Prelude.lc 133:10-133:23 {a} -> {b : List Type} -> c:Type -> (a -> HList b -> c) -> HList ('Cons a b) -> c 488testdata/Prelude.lc 133:10-133:23 {a} -> {b : List Type} -> (c:Type) -> (a -> HList b -> c) -> HList ('Cons a b) -> c
489testdata/Prelude.lc 133:10-133:25 (c_ -> HList c_ -> c_) -> HList ('Cons d_ c_) -> c_ 489testdata/Prelude.lc 133:10-133:25 (c_ -> HList c_ -> c_) -> HList ('Cons d_ c_) -> c_
490testdata/Prelude.lc 133:10-133:37 HList ('Cons b_ a_) -> HList b_ 490testdata/Prelude.lc 133:10-133:37 HList ('Cons b_ a_) -> HList b_
491testdata/Prelude.lc 133:27-133:36 c_ -> HList c_ -> c_ 491testdata/Prelude.lc 133:27-133:36 c_ -> HList c_ -> c_
492testdata/Prelude.lc 133:35-133:36 HList c_ -> c_ | HList d_ 492testdata/Prelude.lc 133:35-133:36 HList c_ -> c_ | HList d_
493testdata/Prelude.lc 136:12-138:181 a_->b_ | {a} -> {b : List RecItem} -> c:String -> {_ : 'isKeyC c a b} -> RecordC b -> a 493testdata/Prelude.lc 136:12-138:181 a_->b_ | {a} -> {b : List RecItem} -> (c:String) -> {_ : 'isKeyC c a b} -> RecordC b -> a
494testdata/Prelude.lc 136:28-136:37 Type 494testdata/Prelude.lc 136:28-136:37 Type
495testdata/Prelude.lc 136:28-136:97 Type 495testdata/Prelude.lc 136:28-136:97 Type
496testdata/Prelude.lc 136:29-136:36 Type 496testdata/Prelude.lc 136:29-136:36 Type
@@ -509,11 +509,11 @@ testdata/Prelude.lc 136:82-136:92 Type
509testdata/Prelude.lc 136:82-136:97 Type 509testdata/Prelude.lc 136:82-136:97 Type
510testdata/Prelude.lc 136:90-136:92 List RecItem 510testdata/Prelude.lc 136:90-136:92 List RecItem
511testdata/Prelude.lc 136:96-136:97 Type 511testdata/Prelude.lc 136:96-136:97 Type
512testdata/Prelude.lc 137:1-137:8 {a} -> {b : List RecItem} -> c:String -> {_ : 'isKeyC c a b} -> RecordC b -> a 512testdata/Prelude.lc 137:1-137:8 {a} -> {b : List RecItem} -> (c:String) -> {_ : 'isKeyC c a b} -> RecordC b -> a
513testdata/Prelude.lc 137:57-137:58 String 513testdata/Prelude.lc 137:57-137:58 String
514testdata/Prelude.lc 137:57-137:61 String->Bool 514testdata/Prelude.lc 137:57-137:61 String->Bool
515testdata/Prelude.lc 137:57-137:64 Bool 515testdata/Prelude.lc 137:57-137:64 Bool
516testdata/Prelude.lc 137:57-138:181 HList ('map RecItem Type 'recItemType b_) -> b_ | List c_ -> c_ | RecordC c_ -> e_ | String -> Type->c_ | Type->c_ | a:String -> {_ : 'isKeyC a c_ b_} -> RecordC c_ -> e_ | b_ -> List c_ -> c_ | e_ | g_ | j_ | m_ | {_ : 'isKeyC a_ c_ b_} -> RecordC c_ -> e_ | {a : List RecItem} -> b:String -> {_ : 'isKeyC b c_ a} -> RecordC a -> e_ | {a} -> {b : List RecItem} -> c:String -> {_ : 'isKeyC c a b} -> RecordC b -> a 516testdata/Prelude.lc 137:57-138:181 (a:String) -> {_ : 'isKeyC a c_ b_} -> RecordC c_ -> e_ | HList ('map RecItem Type 'recItemType b_) -> b_ | List c_ -> c_ | RecordC c_ -> e_ | String -> Type->c_ | Type->c_ | b_ -> List c_ -> c_ | e_ | g_ | j_ | m_ | {_ : 'isKeyC a_ c_ b_} -> RecordC c_ -> e_ | {a : List RecItem} -> (b:String) -> {_ : 'isKeyC b c_ a} -> RecordC a -> e_ | {a} -> {b : List RecItem} -> (c:String) -> {_ : 'isKeyC c a b} -> RecordC b -> a
517testdata/Prelude.lc 137:59-137:61 {a} -> {_ : Eq a} -> a -> a->Bool 517testdata/Prelude.lc 137:59-137:61 {a} -> {_ : Eq a} -> a -> a->Bool
518testdata/Prelude.lc 137:62-137:64 String 518testdata/Prelude.lc 137:62-137:64 String
519testdata/Prelude.lc 137:67-137:73 {a} -> {b : List Type} -> HList ('Cons a b) -> a 519testdata/Prelude.lc 137:67-137:73 {a} -> {b : List Type} -> HList ('Cons a b) -> a
@@ -529,15 +529,15 @@ testdata/Prelude.lc 137:101-137:102 Type
529testdata/Prelude.lc 137:101-137:104 List Type -> List Type 529testdata/Prelude.lc 137:101-137:104 List Type -> List Type
530testdata/Prelude.lc 137:101-137:123 List Type 530testdata/Prelude.lc 137:101-137:123 List Type
531testdata/Prelude.lc 137:103-137:104 {a} -> a -> List a -> List a 531testdata/Prelude.lc 137:103-137:104 {a} -> a -> List a -> List a
532testdata/Prelude.lc 137:105-137:108 {a} -> {b} -> a->b -> List a -> List b 532testdata/Prelude.lc 137:105-137:108 {a} -> {b} -> (a->b) -> List a -> List b
533testdata/Prelude.lc 137:105-137:120 List RecItem -> List Type 533testdata/Prelude.lc 137:105-137:120 List RecItem -> List Type
534testdata/Prelude.lc 137:105-137:123 List Type 534testdata/Prelude.lc 137:105-137:123 List Type
535testdata/Prelude.lc 137:109-137:120 RecItem->Type 535testdata/Prelude.lc 137:109-137:120 RecItem->Type
536testdata/Prelude.lc 137:121-137:123 List RecItem 536testdata/Prelude.lc 137:121-137:123 List RecItem
537testdata/Prelude.lc 137:126-137:128 HList ('map RecItem Type 'recItemType d_) 537testdata/Prelude.lc 137:126-137:128 HList ('map RecItem Type 'recItemType d_)
538testdata/Prelude.lc 138:57-138:64 {a} -> {b : List RecItem} -> c:String -> {_ : 'isKeyC c a b} -> RecordC b -> a 538testdata/Prelude.lc 138:57-138:64 {a} -> {b : List RecItem} -> (c:String) -> {_ : 'isKeyC c a b} -> RecordC b -> a
539testdata/Prelude.lc 138:57-138:67 {a : List RecItem} -> b:String -> {_ : 'isKeyC b r_ a} -> RecordC a -> t_ 539testdata/Prelude.lc 138:57-138:67 {a : List RecItem} -> (b:String) -> {_ : 'isKeyC b r_ a} -> RecordC a -> t_
540testdata/Prelude.lc 138:57-138:71 a:String -> {_ : 'isKeyC a p_ i_} -> RecordC j_ -> r_ 540testdata/Prelude.lc 138:57-138:71 (a:String) -> {_ : 'isKeyC a p_ i_} -> RecordC j_ -> r_
541testdata/Prelude.lc 138:57-138:73 {_ : 'isKeyC m_ o_ h_} -> RecordC i_ -> q_ 541testdata/Prelude.lc 138:57-138:73 {_ : 'isKeyC m_ o_ h_} -> RecordC i_ -> q_
542testdata/Prelude.lc 138:57-138:103 RecordC h_ -> p_ 542testdata/Prelude.lc 138:57-138:103 RecordC h_ -> p_
543testdata/Prelude.lc 138:57-138:181 n_ 543testdata/Prelude.lc 138:57-138:181 n_
@@ -567,7 +567,7 @@ testdata/Prelude.lc 138:151-138:152 Type
567testdata/Prelude.lc 138:151-138:154 List Type -> List Type 567testdata/Prelude.lc 138:151-138:154 List Type -> List Type
568testdata/Prelude.lc 138:151-138:173 List Type 568testdata/Prelude.lc 138:151-138:173 List Type
569testdata/Prelude.lc 138:153-138:154 {a} -> a -> List a -> List a 569testdata/Prelude.lc 138:153-138:154 {a} -> a -> List a -> List a
570testdata/Prelude.lc 138:155-138:158 {a} -> {b} -> a->b -> List a -> List b 570testdata/Prelude.lc 138:155-138:158 {a} -> {b} -> (a->b) -> List a -> List b
571testdata/Prelude.lc 138:155-138:170 List RecItem -> List Type 571testdata/Prelude.lc 138:155-138:170 List RecItem -> List Type
572testdata/Prelude.lc 138:155-138:173 List Type 572testdata/Prelude.lc 138:155-138:173 List Type
573testdata/Prelude.lc 138:159-138:170 RecItem->Type 573testdata/Prelude.lc 138:159-138:170 RecItem->Type
@@ -1481,7 +1481,7 @@ testdata/Prelude.lc 374:29-374:30 b_
1481testdata/Prelude.lc 375:9-375:18 {a} -> {b:Nat} -> {_ : a ~ VecScalar b Float} -> a->a 1481testdata/Prelude.lc 375:9-375:18 {a} -> {b:Nat} -> {_ : a ~ VecScalar b Float} -> a->a
1482testdata/Prelude.lc 375:9-375:20 VecScalar a_ Float -> VecScalar b_ Float 1482testdata/Prelude.lc 375:9-375:20 VecScalar a_ Float -> VecScalar b_ Float
1483testdata/Prelude.lc 375:9-375:33 VecScalar 3 Float 1483testdata/Prelude.lc 375:9-375:33 VecScalar 3 Float
1484testdata/Prelude.lc 375:19-375:20 {a} -> {b} -> a->b -> a->b 1484testdata/Prelude.lc 375:19-375:20 {a} -> {b} -> (a->b) -> a->b
1485testdata/Prelude.lc 375:21-375:24 Vec 3 Float 1485testdata/Prelude.lc 375:21-375:24 Vec 3 Float
1486testdata/Prelude.lc 375:21-375:26 VecS Float 3 -> VecS Float 3 1486testdata/Prelude.lc 375:21-375:26 VecS Float 3 -> VecS Float 3
1487testdata/Prelude.lc 375:21-375:33 VecS Float 3 1487testdata/Prelude.lc 375:21-375:33 VecS Float 3
@@ -1490,7 +1490,7 @@ testdata/Prelude.lc 375:27-375:33 Vec 3 Float
1490testdata/Prelude.lc 376:9-376:18 {a} -> {b:Nat} -> {_ : a ~ VecScalar b Float} -> a->a 1490testdata/Prelude.lc 376:9-376:18 {a} -> {b:Nat} -> {_ : a ~ VecScalar b Float} -> a->a
1491testdata/Prelude.lc 376:9-376:20 VecScalar a_ Float -> VecScalar b_ Float 1491testdata/Prelude.lc 376:9-376:20 VecScalar a_ Float -> VecScalar b_ Float
1492testdata/Prelude.lc 376:9-376:33 VecScalar 3 Float 1492testdata/Prelude.lc 376:9-376:33 VecScalar 3 Float
1493testdata/Prelude.lc 376:19-376:20 {a} -> {b} -> a->b -> a->b 1493testdata/Prelude.lc 376:19-376:20 {a} -> {b} -> (a->b) -> a->b
1494testdata/Prelude.lc 376:21-376:23 Vec 3 Float 1494testdata/Prelude.lc 376:21-376:23 Vec 3 Float
1495testdata/Prelude.lc 376:21-376:31 VecS Float 3 -> VecS Float 3 1495testdata/Prelude.lc 376:21-376:31 VecS Float 3 -> VecS Float 3
1496testdata/Prelude.lc 376:21-376:33 VecS Float 3 1496testdata/Prelude.lc 376:21-376:33 VecS Float 3
@@ -1504,7 +1504,7 @@ testdata/Prelude.lc 377:19-377:20 VecScalar 3 Float
1504testdata/Prelude.lc 378:9-378:18 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Mat b a c 1504testdata/Prelude.lc 378:9-378:18 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Mat b a c
1505testdata/Prelude.lc 378:9-378:20 Mat c_ b_ a_ -> Mat c_ d_ b_ 1505testdata/Prelude.lc 378:9-378:20 Mat c_ b_ a_ -> Mat c_ d_ b_
1506testdata/Prelude.lc 378:9-378:65 Mat 4 4 Float 1506testdata/Prelude.lc 378:9-378:65 Mat 4 4 Float
1507testdata/Prelude.lc 378:19-378:20 {a} -> {b} -> a->b -> a->b 1507testdata/Prelude.lc 378:19-378:20 {a} -> {b} -> (a->b) -> a->b
1508testdata/Prelude.lc 378:21-378:25 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float 1508testdata/Prelude.lc 378:21-378:25 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float
1509testdata/Prelude.lc 378:21-378:34 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float 1509testdata/Prelude.lc 378:21-378:34 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float
1510testdata/Prelude.lc 378:21-378:43 Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float 1510testdata/Prelude.lc 378:21-378:43 Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float
diff --git a/testdata/adhoc.reject.out b/testdata/adhoc.reject.out
index 640292db..730a6f84 100644
--- a/testdata/adhoc.reject.out
+++ b/testdata/adhoc.reject.out
@@ -6,8 +6,8 @@ x = one :: Vec 4 A
6------------ trace 6------------ trace
7'A :: Type 7'A :: Type
8A :: 'A 8A :: 'A
9'ACase :: (a : 'A->Type) -> a A -> b:'A -> a b 9'ACase :: (a : 'A->Type) -> a A -> (b:'A) -> a b
10match'A :: (a : Type->Type) -> a 'A -> b:Type -> a b -> a b 10match'A :: (a : Type->Type) -> a 'A -> (b:Type) -> a b -> a b
11!type error: no instance of 'Component on ??? 11!type error: no instance of 'Component on ???
12in testdata/adhoc.reject.lc:4:5: 12in testdata/adhoc.reject.lc:4:5:
13x = one :: Vec 4 A 13x = one :: Vec 4 A
diff --git a/testdata/complex.out b/testdata/complex.out
index f751c2bb..7c33a18a 100644
--- a/testdata/complex.out
+++ b/testdata/complex.out
@@ -3,12 +3,12 @@ main is not found
3'Repr :: Type 3'Repr :: Type
4Normal :: 'Repr 4Normal :: 'Repr
5Polar :: 'Repr 5Polar :: 'Repr
6'ReprCase :: (a : 'Repr->Type) -> a Normal -> a Polar -> b:'Repr -> a b 6'ReprCase :: (a : 'Repr->Type) -> a Normal -> a Polar -> (b:'Repr) -> a b
7match'Repr :: (a : Type->Type) -> a 'Repr -> b:Type -> a b -> a b 7match'Repr :: (a : Type->Type) -> a 'Repr -> (b:Type) -> a b -> a b
8'Complex :: 'Repr->Type 8'Complex :: 'Repr->Type
9Complex :: {a:'Repr} -> 'Float -> 'Float -> 'Complex a 9Complex :: {a:'Repr} -> 'Float -> 'Float -> 'Complex a
10'ComplexCase :: (a : b:'Repr -> 'Complex b -> Type) -> ({c:'Repr} -> d:'Float -> e:'Float -> a c (Complex c d e)) -> {f:'Repr} -> (g : 'Complex f) -> a f g 10'ComplexCase :: (a : (b:'Repr) -> 'Complex b -> Type) -> ({c:'Repr} -> (d:'Float) -> (e:'Float) -> a c (Complex c d e)) -> {f:'Repr} -> (g : 'Complex f) -> a f g
11match'Complex :: (a : Type->Type) -> (b:'Repr -> a ('Complex b)) -> c:Type -> a c -> a c 11match'Complex :: (a : Type->Type) -> ((b:'Repr) -> a ('Complex b)) -> (c:Type) -> a c -> a c
12repr :: {a:'Repr} -> 'Complex a -> 'Repr 12repr :: {a:'Repr} -> 'Complex a -> 'Repr
13normal :: 'Float -> 'Float -> 'Complex Normal 13normal :: 'Float -> 'Float -> 'Complex Normal
14polar :: 'Float -> 'Float -> 'Complex Polar 14polar :: 'Float -> 'Float -> 'Complex Polar
diff --git a/testdata/data.out b/testdata/data.out
index 4613e04f..1dddf3f4 100644
--- a/testdata/data.out
+++ b/testdata/data.out
@@ -2,27 +2,27 @@ main is not found
2------------ trace 2------------ trace
3'Data0 :: Type 3'Data0 :: Type
4Data0 :: 'Data0 4Data0 :: 'Data0
5'Data0Case :: (a : 'Data0->Type) -> a Data0 -> b:'Data0 -> a b 5'Data0Case :: (a : 'Data0->Type) -> a Data0 -> (b:'Data0) -> a b
6match'Data0 :: (a : Type->Type) -> a 'Data0 -> b:Type -> a b -> a b 6match'Data0 :: (a : Type->Type) -> a 'Data0 -> (b:Type) -> a b -> a b
7'Data1 :: Type -> Type -> Type->Type 7'Data1 :: Type -> Type -> Type->Type
8Data1 :: {a} -> {b} -> {c} -> a -> b -> c -> 'Data1 a b c 8Data1 :: {a} -> {b} -> {c} -> a -> b -> c -> 'Data1 a b c
9'Data1Case :: {a} -> {b} -> {c} -> (d : 'Data1 a b c -> Type) -> (e:a -> f:b -> g:c -> d (Data1 e f g)) -> (h : 'Data1 a b c) -> d h 9'Data1Case :: {a} -> {b} -> {c} -> (d : 'Data1 a b c -> Type) -> ((e:a) -> (f:b) -> (g:c) -> d (Data1 e f g)) -> (h : 'Data1 a b c) -> d h
10match'Data1 :: (a : Type->Type) -> (b:Type -> c:Type -> d:Type -> a ('Data1 b c d)) -> e:Type -> a e -> a e 10match'Data1 :: (a : Type->Type) -> ((b:Type) -> (c:Type) -> (d:Type) -> a ('Data1 b c d)) -> (e:Type) -> a e -> a e
11'Data2 :: Type 11'Data2 :: Type
12Data21 :: 'Int->'Data2 12Data21 :: 'Int->'Data2
13Data22 :: 'Int -> 'Int->'Data2 13Data22 :: 'Int -> 'Int->'Data2
14Data23 :: 'Int->'Data2 14Data23 :: 'Int->'Data2
15Data24 :: 'Data2 15Data24 :: 'Data2
16'Data2Case :: (a : 'Data2->Type) -> (b:'Int -> a (Data21 b)) -> (c:'Int -> d:'Int -> a (Data22 c d)) -> (e:'Int -> a (Data23 e)) -> a Data24 -> f:'Data2 -> a f 16'Data2Case :: (a : 'Data2->Type) -> ((b:'Int) -> a (Data21 b)) -> ((c:'Int) -> (d:'Int) -> a (Data22 c d)) -> ((e:'Int) -> a (Data23 e)) -> a Data24 -> (f:'Data2) -> a f
17match'Data2 :: (a : Type->Type) -> a 'Data2 -> b:Type -> a b -> a b 17match'Data2 :: (a : Type->Type) -> a 'Data2 -> (b:Type) -> a b -> a b
18x :: 'Data2->'Int 18x :: 'Data2->'Int
19y :: 'Data2->'Int 19y :: 'Data2->'Int
20'Data5 :: Type -> Type -> Type->Type 20'Data5 :: Type -> Type -> Type->Type
21Data51 :: {a} -> {b} -> {c} -> a -> 'Data5 a b c 21Data51 :: {a} -> {b} -> {c} -> a -> 'Data5 a b c
22Data52 :: {a} -> {b} -> {c} -> a -> b -> c -> 'Data5 a b c 22Data52 :: {a} -> {b} -> {c} -> a -> b -> c -> 'Data5 a b c
23Data53 :: {a} -> {b} -> {c} -> 'Int -> a -> 'Float -> b -> c -> 'Data5 a b c 23Data53 :: {a} -> {b} -> {c} -> 'Int -> a -> 'Float -> b -> c -> 'Data5 a b c
24'Data5Case :: {a} -> {b} -> {c} -> (d : 'Data5 a b c -> Type) -> (e:a -> d (Data51 e)) -> (f:a -> g:b -> h:c -> d (Data52 f g h)) -> (i:'Int -> j:a -> k:'Float -> l:b -> m:c -> d (Data53 i j k l m)) -> (n : 'Data5 a b c) -> d n 24'Data5Case :: {a} -> {b} -> {c} -> (d : 'Data5 a b c -> Type) -> ((e:a) -> d (Data51 e)) -> ((f:a) -> (g:b) -> (h:c) -> d (Data52 f g h)) -> ((i:'Int) -> (j:a) -> (k:'Float) -> (l:b) -> (m:c) -> d (Data53 i j k l m)) -> (n : 'Data5 a b c) -> d n
25match'Data5 :: (a : Type->Type) -> (b:Type -> c:Type -> d:Type -> a ('Data5 b c d)) -> e:Type -> a e -> a e 25match'Data5 :: (a : Type->Type) -> ((b:Type) -> (c:Type) -> (d:Type) -> a ('Data5 b c d)) -> (e:Type) -> a e -> a e
26a5 :: {a} -> {b} -> {c} -> 'Data5 a b c -> a 26a5 :: {a} -> {b} -> {c} -> 'Data5 a b c -> a
27b5 :: {a} -> {b} -> {c} -> 'Data5 a b c -> b 27b5 :: {a} -> {b} -> {c} -> 'Data5 a b c -> b
28c5 :: {a} -> {b} -> {c} -> 'Data5 a b c -> c 28c5 :: {a} -> {b} -> {c} -> 'Data5 a b c -> c
diff --git a/testdata/empty.out b/testdata/empty.out
index c1178ed4..bcb2f224 100644
--- a/testdata/empty.out
+++ b/testdata/empty.out
@@ -1,7 +1,7 @@
1main is not found 1main is not found
2------------ trace 2------------ trace
3'Empty :: Type 3'Empty :: Type
4'EmptyCase :: (a : 'Empty->Type) -> b:'Empty -> a b 4'EmptyCase :: (a : 'Empty->Type) -> (b:'Empty) -> a b
5match'Empty :: (a : Type->Type) -> a 'Empty -> b:Type -> a b -> a b 5match'Empty :: (a : Type->Type) -> a 'Empty -> (b:Type) -> a b -> a b
6------------ tooltips 6------------ tooltips
7testdata/empty.lc 3:6-3:11 Type 7testdata/empty.lc 3:6-3:11 Type
diff --git a/testdata/language-features/adt/adt02.reject.out b/testdata/language-features/adt/adt02.reject.out
index 59901cda..48ca3cb9 100644
--- a/testdata/language-features/adt/adt02.reject.out
+++ b/testdata/language-features/adt/adt02.reject.out
@@ -9,8 +9,8 @@ in proj
9'Data3 :: Type 9'Data3 :: Type
10Data3 :: 'Bool -> 'Char -> 'Bool->'Data3 10Data3 :: 'Bool -> 'Char -> 'Bool->'Data3
11Data31 :: 'Int -> 'String -> 'Int->'Data3 11Data31 :: 'Int -> 'String -> 'Int->'Data3
12'Data3Case :: (a : 'Data3->Type) -> (b:'Bool -> c:'Char -> d:'Bool -> a (Data3 b c d)) -> (e:'Int -> f:'String -> g:'Int -> a (Data31 e f g)) -> h:'Data3 -> a h 12'Data3Case :: (a : 'Data3->Type) -> ((b:'Bool) -> (c:'Char) -> (d:'Bool) -> a (Data3 b c d)) -> ((e:'Int) -> (f:'String) -> (g:'Int) -> a (Data31 e f g)) -> (h:'Data3) -> a h
13match'Data3 :: (a : Type->Type) -> a 'Data3 -> b:Type -> a b -> a b 13match'Data3 :: (a : Type->Type) -> a 'Data3 -> (b:Type) -> a b -> a b
14!type error: can not unify 14!type error: can not unify
15'Bool 15'Bool
16with 16with
diff --git a/testdata/language-features/adt/gadt03.reject.out b/testdata/language-features/adt/gadt03.reject.out
index 86e6efc4..cb6cd714 100644
--- a/testdata/language-features/adt/gadt03.reject.out
+++ b/testdata/language-features/adt/gadt03.reject.out
@@ -2,8 +2,8 @@ illegal data definition (parameters are not uniform)
2------------ trace 2------------ trace
3'M2 :: Type -> 'String->Type 3'M2 :: Type -> 'String->Type
4Value2 :: {a} -> a -> {b:'String} -> 'M2 a b 4Value2 :: {a} -> a -> {b:'String} -> 'M2 a b
5'M2Case :: {a} -> (b : c:'String -> 'M2 a c -> Type) -> (d:a -> {e:'String} -> b e (Value2 d e)) -> {f:'String} -> (g : 'M2 a f) -> b f g 5'M2Case :: {a} -> (b : (c:'String) -> 'M2 a c -> Type) -> ((d:a) -> {e:'String} -> b e (Value2 d e)) -> {f:'String} -> (g : 'M2 a f) -> b f g
6match'M2 :: (a : Type->Type) -> (b:Type -> c:'String -> a ('M2 b c)) -> d:Type -> a d -> a d 6match'M2 :: (a : Type->Type) -> ((b:Type) -> (c:'String) -> a ('M2 b c)) -> (d:Type) -> a d -> a d
7'M3 :: Type -> 'String->Type 7'M3 :: Type -> 'String->Type
8!illegal data definition (parameters are not uniform) 8!illegal data definition (parameters are not uniform)
9------------ tooltips 9------------ tooltips
diff --git a/testdata/language-features/adt/gadt04.reject.out b/testdata/language-features/adt/gadt04.reject.out
index 02b21961..1871c4aa 100644
--- a/testdata/language-features/adt/gadt04.reject.out
+++ b/testdata/language-features/adt/gadt04.reject.out
@@ -7,8 +7,8 @@ already defined Value at testdata/language-features/adt/gadt04.reject.lc:6:3:
7------------ trace 7------------ trace
8'M :: Type -> 'String->Type 8'M :: Type -> 'String->Type
9Value :: {a} -> a -> {b:'String} -> 'M a b 9Value :: {a} -> a -> {b:'String} -> 'M a b
10'MCase :: (a : b:Type -> c:'String -> 'M b c -> Type) -> ({d} -> e:d -> {f:'String} -> a d f (Value d e f)) -> {g} -> {h:'String} -> (i : 'M g h) -> a g h i 10'MCase :: (a : (b:Type) -> (c:'String) -> 'M b c -> Type) -> ({d} -> (e:d) -> {f:'String} -> a d f (Value d e f)) -> {g} -> {h:'String} -> (i : 'M g h) -> a g h i
11match'M :: (a : Type->Type) -> (b:Type -> c:'String -> a ('M b c)) -> d:Type -> a d -> a d 11match'M :: (a : Type->Type) -> ((b:Type) -> (c:'String) -> a ('M b c)) -> (d:Type) -> a d -> a d
12'M2 :: Type -> 'String->Type 12'M2 :: Type -> 'String->Type
13Value :: {a} -> a -> {b:'String} -> 'M2 a b 13Value :: {a} -> a -> {b:'String} -> 'M2 a b
14!already defined Value at testdata/language-features/adt/gadt04.reject.lc:6:3: 14!already defined Value at testdata/language-features/adt/gadt04.reject.lc:6:3:
diff --git a/testdata/language-features/basic-list/listcomp09.out b/testdata/language-features/basic-list/listcomp09.out
index fa57c421..694e13a4 100644
--- a/testdata/language-features/basic-list/listcomp09.out
+++ b/testdata/language-features/basic-list/listcomp09.out
@@ -1,9 +1,9 @@
1main is not found 1main is not found
2------------ trace 2------------ trace
3value1 :: {_} -> 'List ()->'String 3value1 :: {_} -> 'List (()->'String)
4------------ tooltips 4------------ tooltips
5testdata/language-features/basic-list/listcomp09.lc 1:1-1:7 {_} -> List ()->String 5testdata/language-features/basic-list/listcomp09.lc 1:1-1:7 {_} -> List (()->String)
6testdata/language-features/basic-list/listcomp09.lc 1:10-1:36 List ()->String 6testdata/language-features/basic-list/listcomp09.lc 1:10-1:36 List (()->String)
7testdata/language-features/basic-list/listcomp09.lc 1:11-1:25 List ()->String | b_ -> List b_ 7testdata/language-features/basic-list/listcomp09.lc 1:11-1:25 List (()->String) | b_ -> List b_
8testdata/language-features/basic-list/listcomp09.lc 1:18-1:25 String 8testdata/language-features/basic-list/listcomp09.lc 1:18-1:25 String
9testdata/language-features/basic-list/listcomp09.lc 1:33-1:35 {a} -> List a 9testdata/language-features/basic-list/listcomp09.lc 1:33-1:35 {a} -> List a
diff --git a/testdata/language-features/basic-values/data01.out b/testdata/language-features/basic-values/data01.out
index 65afa571..55a3f99f 100644
--- a/testdata/language-features/basic-values/data01.out
+++ b/testdata/language-features/basic-values/data01.out
@@ -4,20 +4,20 @@ main is not found
4B :: 'A 4B :: 'A
5C :: 'A 5C :: 'A
6D :: 'A 6D :: 'A
7'ACase :: (a : 'A->Type) -> a B -> a C -> a D -> b:'A -> a b 7'ACase :: (a : 'A->Type) -> a B -> a C -> a D -> (b:'A) -> a b
8match'A :: (a : Type->Type) -> a 'A -> b:Type -> a b -> a b 8match'A :: (a : Type->Type) -> a 'A -> (b:Type) -> a b -> a b
9'E :: Type 9'E :: Type
10F :: 'E 10F :: 'E
11G :: ()->'E 11G :: ()->'E
12H :: 'E 12H :: 'E
13'ECase :: (a : 'E->Type) -> a F -> (b:() -> a (G b)) -> a H -> c:'E -> a c 13'ECase :: (a : 'E->Type) -> a F -> ((b:()) -> a (G b)) -> a H -> (c:'E) -> a c
14match'E :: (a : Type->Type) -> a 'E -> b:Type -> a b -> a b 14match'E :: (a : Type->Type) -> a 'E -> (b:Type) -> a b -> a b
15'D1 :: Type 15'D1 :: Type
16C1 :: 'D1 16C1 :: 'D1
17C2 :: ()->'D1 17C2 :: ()->'D1
18C3 :: 'D1 18C3 :: 'D1
19'D1Case :: (a : 'D1->Type) -> a C1 -> (b:() -> a (C2 b)) -> a C3 -> c:'D1 -> a c 19'D1Case :: (a : 'D1->Type) -> a C1 -> ((b:()) -> a (C2 b)) -> a C3 -> (c:'D1) -> a c
20match'D1 :: (a : Type->Type) -> a 'D1 -> b:Type -> a b -> a b 20match'D1 :: (a : Type->Type) -> a 'D1 -> (b:Type) -> a b -> a b
21------------ tooltips 21------------ tooltips
22testdata/language-features/basic-values/data01.lc 1:6-1:7 Type 22testdata/language-features/basic-values/data01.lc 1:6-1:7 Type
23testdata/language-features/basic-values/data01.lc 1:6-1:13 Type 23testdata/language-features/basic-values/data01.lc 1:6-1:13 Type
diff --git a/testdata/language-features/basic-values/infix03.out b/testdata/language-features/basic-values/infix03.out
index da5c00d2..31c99f85 100644
--- a/testdata/language-features/basic-values/infix03.out
+++ b/testdata/language-features/basic-values/infix03.out
@@ -3,8 +3,8 @@ main is not found
3'D :: Type 3'D :: Type
4D2 :: () -> ()->'D 4D2 :: () -> ()->'D
5D3 :: () -> () -> ()->'D 5D3 :: () -> () -> ()->'D
6'DCase :: (a : 'D->Type) -> (b:() -> c:() -> a (D2 b c)) -> (d:() -> e:() -> f:() -> a (D3 d e f)) -> g:'D -> a g 6'DCase :: (a : 'D->Type) -> ((b:()) -> (c:()) -> a (D2 b c)) -> ((d:()) -> (e:()) -> (f:()) -> a (D3 d e f)) -> (g:'D) -> a g
7match'D :: (a : Type->Type) -> a 'D -> b:Type -> a b -> a b 7match'D :: (a : Type->Type) -> a 'D -> (b:Type) -> a b -> a b
8d2 :: () -> ()->'D 8d2 :: () -> ()->'D
9d3 :: () -> () -> ()->'D 9d3 :: () -> () -> ()->'D
10------------ tooltips 10------------ tooltips
diff --git a/testdata/language-features/basic-values/typesig04.out b/testdata/language-features/basic-values/typesig04.out
index 773e6f5a..fe8c7208 100644
--- a/testdata/language-features/basic-values/typesig04.out
+++ b/testdata/language-features/basic-values/typesig04.out
@@ -1,7 +1,7 @@
1main is not found 1main is not found
2------------ trace 2------------ trace
3fun1 :: {a} -> {b} -> {c} -> a -> b->c -> () 3fun1 :: {a} -> {b} -> {c} -> a -> (b->c)->()
4fun2 :: {a} -> {b} -> {c} -> a -> b->c -> () 4fun2 :: {a} -> {b} -> {c} -> a -> (b->c)->()
5------------ tooltips 5------------ tooltips
6testdata/language-features/basic-values/typesig04.lc 1:9-1:10 f_ 6testdata/language-features/basic-values/typesig04.lc 1:9-1:10 f_
7testdata/language-features/basic-values/typesig04.lc 1:9-1:28 Type 7testdata/language-features/basic-values/typesig04.lc 1:9-1:28 Type
@@ -9,13 +9,13 @@ testdata/language-features/basic-values/typesig04.lc 1:14-1:28 Type
9testdata/language-features/basic-values/typesig04.lc 1:15-1:16 e_ 9testdata/language-features/basic-values/typesig04.lc 1:15-1:16 e_
10testdata/language-features/basic-values/typesig04.lc 1:20-1:21 Type | d_ 10testdata/language-features/basic-values/typesig04.lc 1:20-1:21 Type | d_
11testdata/language-features/basic-values/typesig04.lc 1:26-1:28 Type 11testdata/language-features/basic-values/typesig04.lc 1:26-1:28 Type
12testdata/language-features/basic-values/typesig04.lc 2:1-2:5 {a} -> {b} -> {c} -> a -> b->c -> () 12testdata/language-features/basic-values/typesig04.lc 2:1-2:5 {a} -> {b} -> {c} -> a -> (b->c)->()
13testdata/language-features/basic-values/typesig04.lc 2:12-2:14 () | c_ -> c_->c_ -> () | c_->c_ -> () 13testdata/language-features/basic-values/typesig04.lc 2:12-2:14 () | (c_->c_)->() | c_ -> (c_->c_)->()
14testdata/language-features/basic-values/typesig04.lc 4:7-4:8 f_ 14testdata/language-features/basic-values/typesig04.lc 4:7-4:8 f_
15testdata/language-features/basic-values/typesig04.lc 4:7-4:20 Type 15testdata/language-features/basic-values/typesig04.lc 4:7-4:20 Type
16testdata/language-features/basic-values/typesig04.lc 4:10-4:20 Type 16testdata/language-features/basic-values/typesig04.lc 4:10-4:20 Type
17testdata/language-features/basic-values/typesig04.lc 4:11-4:12 e_ 17testdata/language-features/basic-values/typesig04.lc 4:11-4:12 e_
18testdata/language-features/basic-values/typesig04.lc 4:14-4:15 Type | d_ 18testdata/language-features/basic-values/typesig04.lc 4:14-4:15 Type | d_
19testdata/language-features/basic-values/typesig04.lc 4:18-4:20 Type 19testdata/language-features/basic-values/typesig04.lc 4:18-4:20 Type
20testdata/language-features/basic-values/typesig04.lc 5:1-5:5 {a} -> {b} -> {c} -> a -> b->c -> () 20testdata/language-features/basic-values/typesig04.lc 5:1-5:5 {a} -> {b} -> {c} -> a -> (b->c)->()
21testdata/language-features/basic-values/typesig04.lc 5:12-5:14 () | c_ -> c_->c_ -> () | c_->c_ -> () 21testdata/language-features/basic-values/typesig04.lc 5:12-5:14 () | (c_->c_)->() | c_ -> (c_->c_)->()
diff --git a/testdata/performance/Material.out b/testdata/performance/Material.out
index 5e629ad7..0e92cbe1 100644
--- a/testdata/performance/Material.out
+++ b/testdata/performance/Material.out
@@ -3,8 +3,8 @@ main is not found
3identityLight :: 'Float 3identityLight :: 'Float
4'Entity :: Type 4'Entity :: Type
5Entity :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 3 'Float -> 'Vec 4 'Float -> 'Entity 5Entity :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 3 'Float -> 'Vec 4 'Float -> 'Entity
6'EntityCase :: (a : 'Entity->Type) -> ((b : 'Vec 4 'Float) -> (c : 'Vec 4 'Float) -> (d : 'Vec 3 'Float) -> (e : 'Vec 4 'Float) -> a (Entity b c d e)) -> f:'Entity -> a f 6'EntityCase :: (a : 'Entity->Type) -> ((b : 'Vec 4 'Float) -> (c : 'Vec 4 'Float) -> (d : 'Vec 3 'Float) -> (e : 'Vec 4 'Float) -> a (Entity b c d e)) -> (f:'Entity) -> a f
7match'Entity :: (a : Type->Type) -> a 'Entity -> b:Type -> a b -> a b 7match'Entity :: (a : Type->Type) -> a 'Entity -> (b:Type) -> a b -> a b
8eAmbientLight :: 'Entity -> 'VecS 'Float 4 8eAmbientLight :: 'Entity -> 'VecS 'Float 4
9eDirectedLight :: 'Entity -> 'VecS 'Float 4 9eDirectedLight :: 'Entity -> 'VecS 'Float 4
10eLightDir :: 'Entity -> 'VecS 'Float 3 10eLightDir :: 'Entity -> 'VecS 'Float 3
@@ -16,12 +16,12 @@ WT_Square :: 'WaveType
16WT_Sawtooth :: 'WaveType 16WT_Sawtooth :: 'WaveType
17WT_InverseSawtooth :: 'WaveType 17WT_InverseSawtooth :: 'WaveType
18WT_Noise :: 'WaveType 18WT_Noise :: 'WaveType
19'WaveTypeCase :: (a : 'WaveType->Type) -> a WT_Sin -> a WT_Triangle -> a WT_Square -> a WT_Sawtooth -> a WT_InverseSawtooth -> a WT_Noise -> b:'WaveType -> a b 19'WaveTypeCase :: (a : 'WaveType->Type) -> a WT_Sin -> a WT_Triangle -> a WT_Square -> a WT_Sawtooth -> a WT_InverseSawtooth -> a WT_Noise -> (b:'WaveType) -> a b
20match'WaveType :: (a : Type->Type) -> a 'WaveType -> b:Type -> a b -> a b 20match'WaveType :: (a : Type->Type) -> a 'WaveType -> (b:Type) -> a b -> a b
21'Wave :: Type 21'Wave :: Type
22Wave :: 'WaveType -> 'Float -> 'Float -> 'Float -> 'Float->'Wave 22Wave :: 'WaveType -> 'Float -> 'Float -> 'Float -> 'Float->'Wave
23'WaveCase :: (a : 'Wave->Type) -> (b:'WaveType -> c:'Float -> d:'Float -> e:'Float -> f:'Float -> a (Wave b c d e f)) -> g:'Wave -> a g 23'WaveCase :: (a : 'Wave->Type) -> ((b:'WaveType) -> (c:'Float) -> (d:'Float) -> (e:'Float) -> (f:'Float) -> a (Wave b c d e f)) -> (g:'Wave) -> a g
24match'Wave :: (a : Type->Type) -> a 'Wave -> b:Type -> a b -> a b 24match'Wave :: (a : Type->Type) -> a 'Wave -> (b:Type) -> a b -> a b
25'Deform :: Type 25'Deform :: Type
26D_AutoSprite :: 'Deform 26D_AutoSprite :: 'Deform
27D_AutoSprite2 :: 'Deform 27D_AutoSprite2 :: 'Deform
@@ -38,14 +38,14 @@ D_Text5 :: 'Deform
38D_Text6 :: 'Deform 38D_Text6 :: 'Deform
39D_Text7 :: 'Deform 39D_Text7 :: 'Deform
40D_Wave :: 'Float -> 'Wave->'Deform 40D_Wave :: 'Float -> 'Wave->'Deform
41'DeformCase :: (a : 'Deform->Type) -> a D_AutoSprite -> a D_AutoSprite2 -> (b:'Float -> c:'Float -> d:'Float -> a (D_Bulge b c d)) -> ((e : 'Vec 3 'Float) -> f:'Wave -> a (D_Move e f)) -> (g:'Float -> h:'Float -> a (D_Normal g h)) -> a D_ProjectionShadow -> a D_Text0 -> a D_Text1 -> a D_Text2 -> a D_Text3 -> a D_Text4 -> a D_Text5 -> a D_Text6 -> a D_Text7 -> (i:'Float -> j:'Wave -> a (D_Wave i j)) -> k:'Deform -> a k 41'DeformCase :: (a : 'Deform->Type) -> a D_AutoSprite -> a D_AutoSprite2 -> ((b:'Float) -> (c:'Float) -> (d:'Float) -> a (D_Bulge b c d)) -> ((e : 'Vec 3 'Float) -> (f:'Wave) -> a (D_Move e f)) -> ((g:'Float) -> (h:'Float) -> a (D_Normal g h)) -> a D_ProjectionShadow -> a D_Text0 -> a D_Text1 -> a D_Text2 -> a D_Text3 -> a D_Text4 -> a D_Text5 -> a D_Text6 -> a D_Text7 -> ((i:'Float) -> (j:'Wave) -> a (D_Wave i j)) -> (k:'Deform) -> a k
42match'Deform :: (a : Type->Type) -> a 'Deform -> b:Type -> a b -> a b 42match'Deform :: (a : Type->Type) -> a 'Deform -> (b:Type) -> a b -> a b
43'CullType :: Type 43'CullType :: Type
44CT_FrontSided :: 'CullType 44CT_FrontSided :: 'CullType
45CT_BackSided :: 'CullType 45CT_BackSided :: 'CullType
46CT_TwoSided :: 'CullType 46CT_TwoSided :: 'CullType
47'CullTypeCase :: (a : 'CullType->Type) -> a CT_FrontSided -> a CT_BackSided -> a CT_TwoSided -> b:'CullType -> a b 47'CullTypeCase :: (a : 'CullType->Type) -> a CT_FrontSided -> a CT_BackSided -> a CT_TwoSided -> (b:'CullType) -> a b
48match'CullType :: (a : Type->Type) -> a 'CullType -> b:Type -> a b -> a b 48match'CullType :: (a : Type->Type) -> a 'CullType -> (b:Type) -> a b -> a b
49'Blending' :: Type 49'Blending' :: Type
50B_DstAlpha :: 'Blending' 50B_DstAlpha :: 'Blending'
51B_DstColor :: 'Blending' 51B_DstColor :: 'Blending'
@@ -58,8 +58,8 @@ B_SrcAlpha :: 'Blending'
58B_SrcAlphaSaturate :: 'Blending' 58B_SrcAlphaSaturate :: 'Blending'
59B_SrcColor :: 'Blending' 59B_SrcColor :: 'Blending'
60B_Zero :: 'Blending' 60B_Zero :: 'Blending'
61'Blending'Case :: (a : 'Blending'->Type) -> a B_DstAlpha -> a B_DstColor -> a B_One -> a B_OneMinusDstAlpha -> a B_OneMinusDstColor -> a B_OneMinusSrcAlpha -> a B_OneMinusSrcColor -> a B_SrcAlpha -> a B_SrcAlphaSaturate -> a B_SrcColor -> a B_Zero -> b:'Blending' -> a b 61'Blending'Case :: (a : 'Blending'->Type) -> a B_DstAlpha -> a B_DstColor -> a B_One -> a B_OneMinusDstAlpha -> a B_OneMinusDstColor -> a B_OneMinusSrcAlpha -> a B_OneMinusSrcColor -> a B_SrcAlpha -> a B_SrcAlphaSaturate -> a B_SrcColor -> a B_Zero -> (b:'Blending') -> a b
62match'Blending' :: (a : Type->Type) -> a 'Blending' -> b:Type -> a b -> a b 62match'Blending' :: (a : Type->Type) -> a 'Blending' -> (b:Type) -> a b -> a b
63'RGBGen :: Type 63'RGBGen :: Type
64RGB_Wave :: 'Wave->'RGBGen 64RGB_Wave :: 'Wave->'RGBGen
65RGB_Const :: 'Float -> 'Float -> 'Float->'RGBGen 65RGB_Const :: 'Float -> 'Float -> 'Float->'RGBGen
@@ -72,8 +72,8 @@ RGB_Vertex :: 'RGBGen
72RGB_LightingDiffuse :: 'RGBGen 72RGB_LightingDiffuse :: 'RGBGen
73RGB_OneMinusVertex :: 'RGBGen 73RGB_OneMinusVertex :: 'RGBGen
74RGB_Undefined :: 'RGBGen 74RGB_Undefined :: 'RGBGen
75'RGBGenCase :: (a : 'RGBGen->Type) -> (b:'Wave -> a (RGB_Wave b)) -> (c:'Float -> d:'Float -> e:'Float -> a (RGB_Const c d e)) -> a RGB_Identity -> a RGB_IdentityLighting -> a RGB_Entity -> a RGB_OneMinusEntity -> a RGB_ExactVertex -> a RGB_Vertex -> a RGB_LightingDiffuse -> a RGB_OneMinusVertex -> a RGB_Undefined -> f:'RGBGen -> a f 75'RGBGenCase :: (a : 'RGBGen->Type) -> ((b:'Wave) -> a (RGB_Wave b)) -> ((c:'Float) -> (d:'Float) -> (e:'Float) -> a (RGB_Const c d e)) -> a RGB_Identity -> a RGB_IdentityLighting -> a RGB_Entity -> a RGB_OneMinusEntity -> a RGB_ExactVertex -> a RGB_Vertex -> a RGB_LightingDiffuse -> a RGB_OneMinusVertex -> a RGB_Undefined -> (f:'RGBGen) -> a f
76match'RGBGen :: (a : Type->Type) -> a 'RGBGen -> b:Type -> a b -> a b 76match'RGBGen :: (a : Type->Type) -> a 'RGBGen -> (b:Type) -> a b -> a b
77'AlphaGen :: Type 77'AlphaGen :: Type
78A_Wave :: 'Wave->'AlphaGen 78A_Wave :: 'Wave->'AlphaGen
79A_Const :: 'Float->'AlphaGen 79A_Const :: 'Float->'AlphaGen
@@ -84,16 +84,16 @@ A_OneMinusEntity :: 'AlphaGen
84A_Vertex :: 'AlphaGen 84A_Vertex :: 'AlphaGen
85A_LightingSpecular :: 'AlphaGen 85A_LightingSpecular :: 'AlphaGen
86A_OneMinusVertex :: 'AlphaGen 86A_OneMinusVertex :: 'AlphaGen
87'AlphaGenCase :: (a : 'AlphaGen->Type) -> (b:'Wave -> a (A_Wave b)) -> (c:'Float -> a (A_Const c)) -> a A_Portal -> a A_Identity -> a A_Entity -> a A_OneMinusEntity -> a A_Vertex -> a A_LightingSpecular -> a A_OneMinusVertex -> d:'AlphaGen -> a d 87'AlphaGenCase :: (a : 'AlphaGen->Type) -> ((b:'Wave) -> a (A_Wave b)) -> ((c:'Float) -> a (A_Const c)) -> a A_Portal -> a A_Identity -> a A_Entity -> a A_OneMinusEntity -> a A_Vertex -> a A_LightingSpecular -> a A_OneMinusVertex -> (d:'AlphaGen) -> a d
88match'AlphaGen :: (a : Type->Type) -> a 'AlphaGen -> b:Type -> a b -> a b 88match'AlphaGen :: (a : Type->Type) -> a 'AlphaGen -> (b:Type) -> a b -> a b
89'TCGen :: Type 89'TCGen :: Type
90TG_Base :: 'TCGen 90TG_Base :: 'TCGen
91TG_Lightmap :: 'TCGen 91TG_Lightmap :: 'TCGen
92TG_Environment :: 'TCGen 92TG_Environment :: 'TCGen
93TG_Vector :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'TCGen 93TG_Vector :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'TCGen
94TG_Undefined :: 'TCGen 94TG_Undefined :: 'TCGen
95'TCGenCase :: (a : 'TCGen->Type) -> a TG_Base -> a TG_Lightmap -> a TG_Environment -> ((b : 'Vec 3 'Float) -> (c : 'Vec 3 'Float) -> a (TG_Vector b c)) -> a TG_Undefined -> d:'TCGen -> a d 95'TCGenCase :: (a : 'TCGen->Type) -> a TG_Base -> a TG_Lightmap -> a TG_Environment -> ((b : 'Vec 3 'Float) -> (c : 'Vec 3 'Float) -> a (TG_Vector b c)) -> a TG_Undefined -> (d:'TCGen) -> a d
96match'TCGen :: (a : Type->Type) -> a 'TCGen -> b:Type -> a b -> a b 96match'TCGen :: (a : Type->Type) -> a 'TCGen -> (b:Type) -> a b -> a b
97'TCMod :: Type 97'TCMod :: Type
98TM_EntityTranslate :: 'TCMod 98TM_EntityTranslate :: 'TCMod
99TM_Rotate :: 'Float->'TCMod 99TM_Rotate :: 'Float->'TCMod
@@ -102,31 +102,31 @@ TM_Scale :: 'Float -> 'Float->'TCMod
102TM_Stretch :: 'Wave->'TCMod 102TM_Stretch :: 'Wave->'TCMod
103TM_Transform :: 'Float -> 'Float -> 'Float -> 'Float -> 'Float -> 'Float->'TCMod 103TM_Transform :: 'Float -> 'Float -> 'Float -> 'Float -> 'Float -> 'Float->'TCMod
104TM_Turb :: 'Float -> 'Float -> 'Float -> 'Float->'TCMod 104TM_Turb :: 'Float -> 'Float -> 'Float -> 'Float->'TCMod
105'TCModCase :: (a : 'TCMod->Type) -> a TM_EntityTranslate -> (b:'Float -> a (TM_Rotate b)) -> (c:'Float -> d:'Float -> a (TM_Scroll c d)) -> (e:'Float -> f:'Float -> a (TM_Scale e f)) -> (g:'Wave -> a (TM_Stretch g)) -> (h:'Float -> i:'Float -> j:'Float -> k:'Float -> l:'Float -> m:'Float -> a (TM_Transform h i j k l m)) -> (n:'Float -> o:'Float -> p:'Float -> q:'Float -> a (TM_Turb n o p q)) -> r:'TCMod -> a r 105'TCModCase :: (a : 'TCMod->Type) -> a TM_EntityTranslate -> ((b:'Float) -> a (TM_Rotate b)) -> ((c:'Float) -> (d:'Float) -> a (TM_Scroll c d)) -> ((e:'Float) -> (f:'Float) -> a (TM_Scale e f)) -> ((g:'Wave) -> a (TM_Stretch g)) -> ((h:'Float) -> (i:'Float) -> (j:'Float) -> (k:'Float) -> (l:'Float) -> (m:'Float) -> a (TM_Transform h i j k l m)) -> ((n:'Float) -> (o:'Float) -> (p:'Float) -> (q:'Float) -> a (TM_Turb n o p q)) -> (r:'TCMod) -> a r
106match'TCMod :: (a : Type->Type) -> a 'TCMod -> b:Type -> a b -> a b 106match'TCMod :: (a : Type->Type) -> a 'TCMod -> (b:Type) -> a b -> a b
107'StageTexture :: Type 107'StageTexture :: Type
108ST_Map :: 'String->'StageTexture 108ST_Map :: 'String->'StageTexture
109ST_ClampMap :: 'String->'StageTexture 109ST_ClampMap :: 'String->'StageTexture
110ST_AnimMap :: 'Float -> 'List 'String -> 'StageTexture 110ST_AnimMap :: 'Float -> 'List 'String -> 'StageTexture
111ST_Lightmap :: 'StageTexture 111ST_Lightmap :: 'StageTexture
112ST_WhiteImage :: 'StageTexture 112ST_WhiteImage :: 'StageTexture
113'StageTextureCase :: (a : 'StageTexture->Type) -> (b:'String -> a (ST_Map b)) -> (c:'String -> a (ST_ClampMap c)) -> (d:'Float -> (e : 'List 'String) -> a (ST_AnimMap d e)) -> a ST_Lightmap -> a ST_WhiteImage -> f:'StageTexture -> a f 113'StageTextureCase :: (a : 'StageTexture->Type) -> ((b:'String) -> a (ST_Map b)) -> ((c:'String) -> a (ST_ClampMap c)) -> ((d:'Float) -> (e : 'List 'String) -> a (ST_AnimMap d e)) -> a ST_Lightmap -> a ST_WhiteImage -> (f:'StageTexture) -> a f
114match'StageTexture :: (a : Type->Type) -> a 'StageTexture -> b:Type -> a b -> a b 114match'StageTexture :: (a : Type->Type) -> a 'StageTexture -> (b:Type) -> a b -> a b
115'AlphaFunction :: Type 115'AlphaFunction :: Type
116A_Gt0 :: 'AlphaFunction 116A_Gt0 :: 'AlphaFunction
117A_Lt128 :: 'AlphaFunction 117A_Lt128 :: 'AlphaFunction
118A_Ge128 :: 'AlphaFunction 118A_Ge128 :: 'AlphaFunction
119'AlphaFunctionCase :: (a : 'AlphaFunction->Type) -> a A_Gt0 -> a A_Lt128 -> a A_Ge128 -> b:'AlphaFunction -> a b 119'AlphaFunctionCase :: (a : 'AlphaFunction->Type) -> a A_Gt0 -> a A_Lt128 -> a A_Ge128 -> (b:'AlphaFunction) -> a b
120match'AlphaFunction :: (a : Type->Type) -> a 'AlphaFunction -> b:Type -> a b -> a b 120match'AlphaFunction :: (a : Type->Type) -> a 'AlphaFunction -> (b:Type) -> a b -> a b
121'DepthFunction :: Type 121'DepthFunction :: Type
122D_Equal :: 'DepthFunction 122D_Equal :: 'DepthFunction
123D_Lequal :: 'DepthFunction 123D_Lequal :: 'DepthFunction
124'DepthFunctionCase :: (a : 'DepthFunction->Type) -> a D_Equal -> a D_Lequal -> b:'DepthFunction -> a b 124'DepthFunctionCase :: (a : 'DepthFunction->Type) -> a D_Equal -> a D_Lequal -> (b:'DepthFunction) -> a b
125match'DepthFunction :: (a : Type->Type) -> a 'DepthFunction -> b:Type -> a b -> a b 125match'DepthFunction :: (a : Type->Type) -> a 'DepthFunction -> (b:Type) -> a b -> a b
126'StageAttrs :: Type 126'StageAttrs :: Type
127StageAttrs :: 'Maybe ('Blending', 'Blending') -> 'RGBGen -> 'AlphaGen -> 'TCGen -> 'List 'TCMod -> 'StageTexture -> 'Bool -> 'DepthFunction -> 'Maybe 'AlphaFunction -> 'Bool -> 'String->'StageAttrs 127StageAttrs :: 'Maybe ('Blending', 'Blending') -> 'RGBGen -> 'AlphaGen -> 'TCGen -> 'List 'TCMod -> 'StageTexture -> 'Bool -> 'DepthFunction -> 'Maybe 'AlphaFunction -> 'Bool -> 'String->'StageAttrs
128'StageAttrsCase :: (a : 'StageAttrs->Type) -> ((b : 'Maybe ('Blending', 'Blending')) -> c:'RGBGen -> d:'AlphaGen -> e:'TCGen -> (f : 'List 'TCMod) -> g:'StageTexture -> h:'Bool -> i:'DepthFunction -> (j : 'Maybe 'AlphaFunction) -> k:'Bool -> l:'String -> a (StageAttrs b c d e f g h i j k l)) -> m:'StageAttrs -> a m 128'StageAttrsCase :: (a : 'StageAttrs->Type) -> ((b : 'Maybe ('Blending', 'Blending')) -> (c:'RGBGen) -> (d:'AlphaGen) -> (e:'TCGen) -> (f : 'List 'TCMod) -> (g:'StageTexture) -> (h:'Bool) -> (i:'DepthFunction) -> (j : 'Maybe 'AlphaFunction) -> (k:'Bool) -> (l:'String) -> a (StageAttrs b c d e f g h i j k l)) -> (m:'StageAttrs) -> a m
129match'StageAttrs :: (a : Type->Type) -> a 'StageAttrs -> b:Type -> a b -> a b 129match'StageAttrs :: (a : Type->Type) -> a 'StageAttrs -> (b:Type) -> a b -> a b
130saBlend :: 'StageAttrs -> 'Maybe ('Blending', 'Blending') 130saBlend :: 'StageAttrs -> 'Maybe ('Blending', 'Blending')
131saRGBGen :: 'StageAttrs->'RGBGen 131saRGBGen :: 'StageAttrs->'RGBGen
132saAlphaGen :: 'StageAttrs->'AlphaGen 132saAlphaGen :: 'StageAttrs->'AlphaGen
@@ -141,8 +141,8 @@ saTextureUniform :: 'StageAttrs->'String
141defaultStageAttrs :: 'StageAttrs 141defaultStageAttrs :: 'StageAttrs
142'CommonAttrs :: Type 142'CommonAttrs :: Type
143CommonAttrs :: () -> () -> 'Bool -> 'Float -> 'Bool -> 'Bool -> 'CullType -> 'List 'Deform -> 'Bool -> 'Bool -> 'List 'StageAttrs -> 'Bool->'CommonAttrs 143CommonAttrs :: () -> () -> 'Bool -> 'Float -> 'Bool -> 'Bool -> 'CullType -> 'List 'Deform -> 'Bool -> 'Bool -> 'List 'StageAttrs -> 'Bool->'CommonAttrs
144'CommonAttrsCase :: (a : 'CommonAttrs->Type) -> (b:() -> c:() -> d:'Bool -> e:'Float -> f:'Bool -> g:'Bool -> h:'CullType -> (i : 'List 'Deform) -> j:'Bool -> k:'Bool -> (l : 'List 'StageAttrs) -> m:'Bool -> a (CommonAttrs b c d e f g h i j k l m)) -> n:'CommonAttrs -> a n 144'CommonAttrsCase :: (a : 'CommonAttrs->Type) -> ((b:()) -> (c:()) -> (d:'Bool) -> (e:'Float) -> (f:'Bool) -> (g:'Bool) -> (h:'CullType) -> (i : 'List 'Deform) -> (j:'Bool) -> (k:'Bool) -> (l : 'List 'StageAttrs) -> (m:'Bool) -> a (CommonAttrs b c d e f g h i j k l m)) -> (n:'CommonAttrs) -> a n
145match'CommonAttrs :: (a : Type->Type) -> a 'CommonAttrs -> b:Type -> a b -> a b 145match'CommonAttrs :: (a : Type->Type) -> a 'CommonAttrs -> (b:Type) -> a b -> a b
146caSkyParms :: 'CommonAttrs->() 146caSkyParms :: 'CommonAttrs->()
147caFogParms :: 'CommonAttrs->() 147caFogParms :: 'CommonAttrs->()
148caPortal :: 'CommonAttrs->'Bool 148caPortal :: 'CommonAttrs->'Bool
diff --git a/testdata/record01.reject.out b/testdata/record01.reject.out
index 78ef20e3..32ed09fc 100644
--- a/testdata/record01.reject.out
+++ b/testdata/record01.reject.out
@@ -167,7 +167,7 @@ testdata/record01.reject.lc 18:65-18:70 Type->Type
167testdata/record01.reject.lc 18:65-18:76 List Type | Type 167testdata/record01.reject.lc 18:65-18:76 List Type | Type
168testdata/record01.reject.lc 18:69-18:70 b_ 168testdata/record01.reject.lc 18:69-18:70 b_
169testdata/record01.reject.lc 18:71-18:76 Type 169testdata/record01.reject.lc 18:71-18:76 Type
170testdata/record01.reject.lc 19:23-19:36 {a} -> {b} -> {c:PrimitiveType} -> a->b -> List (Primitive a c) -> List (Primitive b c) 170testdata/record01.reject.lc 19:23-19:36 {a} -> {b} -> {c:PrimitiveType} -> (a->b) -> List (Primitive a c) -> List (Primitive b c)
171testdata/record01.reject.lc 19:23-19:49 List (Primitive ((VecS Float 4)) a_) -> List (Primitive (VecS Float 4, VecS Float 4) b_) 171testdata/record01.reject.lc 19:23-19:49 List (Primitive ((VecS Float 4)) a_) -> List (Primitive (VecS Float 4, VecS Float 4) b_)
172testdata/record01.reject.lc 19:23-19:62 List (Primitive (VecS Float 4, VecS Float 4) a_) 172testdata/record01.reject.lc 19:23-19:62 List (Primitive (VecS Float 4, VecS Float 4) a_)
173testdata/record01.reject.lc 19:37-19:49 ((VecS Float 4))->(VecS Float 4, VecS Float 4) 173testdata/record01.reject.lc 19:37-19:49 ((VecS Float 4))->(VecS Float 4, VecS Float 4)
@@ -205,7 +205,7 @@ testdata/record01.reject.lc 22:53-22:56 Float
205testdata/record01.reject.lc 22:57-22:60 Float 205testdata/record01.reject.lc 22:57-22:60 Float
206testdata/record01.reject.lc 22:61-22:64 Float 206testdata/record01.reject.lc 22:61-22:64 Float
207testdata/record01.reject.lc 23:23-23:33 {a:Nat} -> {b : List Type} -> {c} -> HList b -> (c -> HList ('imageType' ('map Type ImageKind FragmentOperationKind b))) -> List (Vector a (Maybe (SimpleFragment c))) -> FrameBuffer a ('map Type ImageKind FragmentOperationKind b) -> FrameBuffer a ('map Type ImageKind FragmentOperationKind b) 207testdata/record01.reject.lc 23:23-23:33 {a:Nat} -> {b : List Type} -> {c} -> HList b -> (c -> HList ('imageType' ('map Type ImageKind FragmentOperationKind b))) -> List (Vector a (Maybe (SimpleFragment c))) -> FrameBuffer a ('map Type ImageKind FragmentOperationKind b) -> FrameBuffer a ('map Type ImageKind FragmentOperationKind b)
208testdata/record01.reject.lc 23:23-23:45 a_->(('imageType (FragmentOperationKind (FragmentOperation ('Color (VecScalar 4 Float)))))) -> List (Vector c_ (Maybe (SimpleFragment b_))) -> FrameBuffer d_ ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) -> FrameBuffer e_ ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) 208testdata/record01.reject.lc 23:23-23:45 (a_->(('imageType (FragmentOperationKind (FragmentOperation ('Color (VecScalar 4 Float))))))) -> List (Vector c_ (Maybe (SimpleFragment b_))) -> FrameBuffer d_ ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) -> FrameBuffer e_ ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil)))
209testdata/record01.reject.lc 23:23-23:60 List (Vector a_ (Maybe (SimpleFragment ((VecS Float 4))))) -> FrameBuffer b_ ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) -> FrameBuffer c_ ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) 209testdata/record01.reject.lc 23:23-23:60 List (Vector a_ (Maybe (SimpleFragment ((VecS Float 4))))) -> FrameBuffer b_ ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) -> FrameBuffer c_ ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil)))
210testdata/record01.reject.lc 23:23-23:75 FrameBuffer 1 ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) -> FrameBuffer 1 ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) 210testdata/record01.reject.lc 23:23-23:75 FrameBuffer 1 ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) -> FrameBuffer 1 ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil)))
211testdata/record01.reject.lc 23:23-23:83 FrameBuffer 1 ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil))) 211testdata/record01.reject.lc 23:23-23:83 FrameBuffer 1 ('map Type ImageKind FragmentOperationKind ('Cons (FragmentOperation 'Depth) ('Cons (FragmentOperation ('Color (VecScalar 4 Float))) 'Nil)))
diff --git a/testdata/traceTest.out b/testdata/traceTest.out
index b2893066..06096c39 100644
--- a/testdata/traceTest.out
+++ b/testdata/traceTest.out
@@ -3,8 +3,8 @@ main is not found
3id :: {a} -> a->a 3id :: {a} -> a->a
4'X :: {a} -> a->Type 4'X :: {a} -> a->Type
5'XCase :: {a} -> {b:a} -> (c : 'X a b -> Type) -> (d : 'X a b) -> c d 5'XCase :: {a} -> {b:a} -> (c : 'X a b -> Type) -> (d : 'X a b) -> c d
6match'X :: (a : Type->Type) -> ({b} -> c:b -> a ('X b c)) -> d:Type -> a d -> a d 6match'X :: (a : Type->Type) -> ({b} -> (c:b) -> a ('X b c)) -> (d:Type) -> a d -> a d
7x :: 'X (Type -> Type->Type) (\a:Type b:Type -> (a, b)) 7x :: 'X (Type -> Type->Type) (\(a:Type) (b:Type) -> (a, b))
8------------ tooltips 8------------ tooltips
9testdata/traceTest.lc 6:1-6:3 {a} -> a->a 9testdata/traceTest.lc 6:1-6:3 {a} -> a->a
10testdata/traceTest.lc 6:8-6:9 b_ 10testdata/traceTest.lc 6:8-6:9 b_
@@ -17,5 +17,5 @@ testdata/traceTest.lc 10:17-10:24 Type
17testdata/traceTest.lc 10:19-10:20 e_ 17testdata/traceTest.lc 10:19-10:20 e_
18testdata/traceTest.lc 10:19-10:23 List Type 18testdata/traceTest.lc 10:19-10:23 List Type
19testdata/traceTest.lc 10:22-10:23 List Type | c_ 19testdata/traceTest.lc 10:22-10:23 List Type | c_
20testdata/traceTest.lc 11:1-11:2 X (Type -> Type->Type) (\a:Type b:Type -> (a, b)) 20testdata/traceTest.lc 11:1-11:2 X (Type -> Type->Type) (\(a:Type) (b:Type) -> (a, b))
21testdata/traceTest.lc 11:5-11:14 {a}->a 21testdata/traceTest.lc 11:5-11:14 {a}->a
diff --git a/testdata/typesig.reject.out b/testdata/typesig.reject.out
index f6a0fd30..923cc1be 100644
--- a/testdata/typesig.reject.out
+++ b/testdata/typesig.reject.out
@@ -1,11 +1,11 @@
1focus checkMetas: \a -> (\b:Type -> primFix a b) (\(a:=Type) -> \c:Type -> <<HERE>>) 1focus checkMetas: \a -> (\(b:Type) -> primFix a b) (\(a:=Type) -> \(c:Type) -> <<HERE>>)
2\(a : Type~a_) (b : b_~'X) -> typeAnn c_ (labend X) 2\(a : Type~a_) (b : b_~'X) -> typeAnn c_ (labend X)
3------------ trace 3------------ trace
4'X :: Type 4'X :: Type
5X :: 'X 5X :: 'X
6'XCase :: (a : 'X->Type) -> a X -> b:'X -> a b 6'XCase :: (a : 'X->Type) -> a X -> (b:'X) -> a b
7match'X :: (a : Type->Type) -> a 'X -> b:Type -> a b -> a b 7match'X :: (a : Type->Type) -> a 'X -> (b:Type) -> a b -> a b
8!focus checkMetas: \a -> (\b:Type -> primFix a b) (\(a:=Type) -> \c:Type -> <<HERE>>) 8!focus checkMetas: \a -> (\(b:Type) -> primFix a b) (\(a:=Type) -> \(c:Type) -> <<HERE>>)
9\(a : Type~a_) (b : b_~'X) -> typeAnn c_ (labend X) 9\(a : Type~a_) (b : b_~'X) -> typeAnn c_ (labend X)
10------------ tooltips 10------------ tooltips
11testdata/typesig.reject.lc 4:6-4:7 Type 11testdata/typesig.reject.lc 4:6-4:7 Type
diff --git a/testdata/typesigctx.reject.out b/testdata/typesigctx.reject.out
index b0c80fab..6696ad4a 100644
--- a/testdata/typesigctx.reject.out
+++ b/testdata/typesigctx.reject.out
@@ -4,8 +4,8 @@ in Wildcard2 builtin 'Type
4------------ trace 4------------ trace
5'X :: Type 5'X :: Type
6X :: 'X 6X :: 'X
7'XCase :: (a : 'X->Type) -> a X -> b:'X -> a b 7'XCase :: (a : 'X->Type) -> a X -> (b:'X) -> a b
8match'X :: (a : Type->Type) -> a 'X -> b:Type -> a b -> a b 8match'X :: (a : Type->Type) -> a 'X -> (b:Type) -> a b -> a b
9'Show' :: Type->Type 9'Show' :: Type->Type
10show' :: {a} -> {_ : 'Show' a} -> a->'X 10show' :: {a} -> {_ : 'Show' a} -> a->'X
11!type error: no instance of 'Show' on ??? 11!type error: no instance of 'Show' on ???