main is not found ------------ trace id :: forall a . a -> a 'VecS :: Type -> 'Nat -> Type V2 :: forall a . a -> a -> 'VecS a 2 V3 :: forall a . a -> a -> a -> 'VecS a 3 V4 :: forall a . a -> a -> a -> a -> 'VecS a 4 'VecSCase :: forall 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)) -> forall (m :: 'Nat) . (n :: 'VecS a m) -> b m n match'VecS :: (a :: Type -> Type) -> ((b :: Type) -> (c :: 'Nat) -> a ('VecS b c)) -> (d :: Type) -> a d -> a d mapVec :: forall a b (c :: 'Nat) . (a -> b) -> 'VecS a c -> 'VecS b c 'Vec :: 'Nat -> Type -> Type 'VecScalar :: 'Nat -> Type -> Type 'Mat :: 'Nat -> 'Nat -> Type -> Type M22F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 2 'Float M32F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 2 'Float M42F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 2 'Float M23F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 3 'Float M33F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 3 'Float M43F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 3 'Float M24F :: 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Vec 2 'Float -> 'Mat 2 4 'Float M34F :: 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Vec 3 'Float -> 'Mat 3 4 'Float M44F :: 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Vec 4 'Float -> 'Mat 4 4 'Float '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')) -> forall (f' :: 'Nat) (g' :: 'Nat) h' . (i' :: 'Mat f' g' h') -> a f' g' h' i' match'Mat :: (a :: Type -> Type) -> ((b :: 'Nat) -> (c :: 'Nat) -> (d :: Type) -> a ('Mat b c d)) -> (e :: Type) -> a e -> a e 'MatVecScalarElem :: Type -> Type 'Signed :: Type -> Type 'Component :: Type -> Type zero :: forall a . 'Component a => a one :: forall a . 'Component a => a 'Integral :: Type -> Type 'Floating :: Type -> Type PrimAdd :: forall a . 'Num ('MatVecScalarElem a) => a -> a -> a PrimSub :: forall a . 'Num ('MatVecScalarElem a) => a -> a -> a PrimMul :: forall a . 'Num ('MatVecScalarElem a) => a -> a -> a PrimAddS :: forall a b . (a ~ 'MatVecScalarElem b, 'Num a) => b -> a -> b PrimSubS :: forall a b . (a ~ 'MatVecScalarElem b, 'Num a) => b -> a -> b PrimMulS :: forall a b . (a ~ 'MatVecScalarElem b, 'Num a) => b -> a -> b PrimDiv :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> b -> b PrimMod :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> b -> b PrimDivS :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> a -> b PrimModS :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> a -> b PrimNeg :: forall a . 'Signed ('MatVecScalarElem a) => a -> a PrimBAnd :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> b -> b PrimBOr :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> b -> b PrimBXor :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> b -> b PrimBAndS :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> a -> b PrimBOrS :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> a -> b PrimBXorS :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> a -> b PrimBNot :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> b PrimBShiftL :: forall a b (c :: 'Nat) d . ('Integral a, b ~ 'VecScalar c a, d ~ 'VecScalar c 'Word) => b -> d -> b PrimBShiftR :: forall a b (c :: 'Nat) d . ('Integral a, b ~ 'VecScalar c a, d ~ 'VecScalar c 'Word) => b -> d -> b PrimBShiftLS :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> 'Word -> b PrimBShiftRS :: forall a b (c :: 'Nat) . ('Integral a, b ~ 'VecScalar c a) => b -> 'Word -> b PrimAnd :: 'Bool -> 'Bool -> 'Bool PrimOr :: 'Bool -> 'Bool -> 'Bool PrimXor :: 'Bool -> 'Bool -> 'Bool PrimNot :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Bool) => a -> a PrimAny :: forall (a :: 'Nat) . 'VecScalar a 'Bool -> 'Bool PrimAll :: forall (a :: 'Nat) . 'VecScalar a 'Bool -> 'Bool PrimACos :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimACosH :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimASin :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimASinH :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimATan :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimATanH :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimCos :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimCosH :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimDegrees :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimRadians :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimSin :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimSinH :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimTan :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimTanH :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimExp :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimLog :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimExp2 :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimLog2 :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimSqrt :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimInvSqrt :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimPow :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> a PrimATan2 :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> a PrimFloor :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimTrunc :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimRound :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimRoundEven :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimCeil :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimFract :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimMin :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> b -> b PrimMax :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> b -> b PrimMinS :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> a -> b PrimMaxS :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> a -> b PrimIsNan :: forall a (b :: 'Nat) c . (a ~ 'VecScalar b 'Float, c ~ 'VecScalar b 'Bool) => a -> c PrimIsInf :: forall a (b :: 'Nat) c . (a ~ 'VecScalar b 'Float, c ~ 'VecScalar b 'Bool) => a -> c PrimAbs :: forall a b (c :: 'Nat) . ('Signed a, b ~ 'VecScalar c a) => b -> b PrimSign :: forall a b (c :: 'Nat) . ('Signed a, b ~ 'VecScalar c a) => b -> b PrimModF :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> (a, a) PrimClamp :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> b -> b -> b PrimClampS :: forall a b (c :: 'Nat) . ('Num a, b ~ 'VecScalar c a) => b -> a -> a -> b PrimMix :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> a -> a PrimMixS :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> 'Float -> a PrimMixB :: forall a (b :: 'Nat) c . (a ~ 'VecScalar b 'Float, c ~ 'VecScalar b 'Bool) => a -> a -> c -> a PrimStep :: forall a (b :: 'Nat) . (a ~ 'VecS 'Float b) => a -> a -> a PrimStepS :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => 'Float -> a -> a PrimSmoothStep :: forall a (b :: 'Nat) . (a ~ 'VecS 'Float b) => a -> a -> a -> a PrimSmoothStepS :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => 'Float -> 'Float -> a -> a PrimFloatBitsToInt :: forall (a :: 'Nat) . 'VecScalar a 'Float -> 'VecScalar a 'Int PrimFloatBitsToUInt :: forall (a :: 'Nat) . 'VecScalar a 'Float -> 'VecScalar a 'Word PrimIntBitsToFloat :: forall (a :: 'Nat) . 'VecScalar a 'Int -> 'VecScalar a 'Float PrimUIntBitsToFloat :: forall (a :: 'Nat) . 'VecScalar a 'Word -> 'VecScalar a 'Float PrimLength :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> 'Float PrimDistance :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> 'Float PrimDot :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> 'Float PrimCross :: forall a . (a ~ 'VecS 'Float 3) => a -> a -> a PrimNormalize :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimFaceForward :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> a -> a PrimRefract :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> a -> a PrimReflect :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a -> a PrimTranspose :: forall (a :: 'Nat) (b :: 'Nat) c . 'Mat a b c -> 'Mat b a c PrimDeterminant :: forall (a :: 'Nat) b . 'Mat a a b -> 'Float PrimInverse :: forall (a :: 'Nat) b . 'Mat a a b -> 'Mat a a b PrimOuterProduct :: forall (a :: 'Nat) b (c :: 'Nat) . 'Vec a b -> 'Vec c b -> 'Mat c a b PrimMulMatVec :: forall (a :: 'Nat) (b :: 'Nat) c . 'Mat a b c -> 'Vec b c -> 'Vec a c PrimMulVecMat :: forall (a :: 'Nat) b (c :: 'Nat) . 'Vec a b -> 'Mat a c b -> 'Vec c b PrimMulMatMat :: forall (a :: 'Nat) (b :: 'Nat) c (d :: 'Nat) . 'Mat a b c -> 'Mat b d c -> 'Mat a d c PrimLessThan :: forall a (b :: 'Nat) c d . ('Num c, a ~ 'VecScalar b c, d ~ 'VecScalar b 'Bool) => a -> a -> d PrimLessThanEqual :: forall a (b :: 'Nat) c d . ('Num c, a ~ 'VecScalar b c, d ~ 'VecScalar b 'Bool) => a -> a -> d PrimGreaterThan :: forall a (b :: 'Nat) c d . ('Num c, a ~ 'VecScalar b c, d ~ 'VecScalar b 'Bool) => a -> a -> d PrimGreaterThanEqual :: forall a (b :: 'Nat) c d . ('Num c, a ~ 'VecScalar b c, d ~ 'VecScalar b 'Bool) => a -> a -> d PrimEqualV :: forall a (b :: 'Nat) c d . ('Num c, a ~ 'VecScalar b c, d ~ 'VecScalar b 'Bool) => a -> a -> d PrimNotEqualV :: forall a (b :: 'Nat) c d . ('Num c, a ~ 'VecScalar b c, d ~ 'VecScalar b 'Bool) => a -> a -> d PrimEqual :: forall a b . (b ~ 'MatVecScalarElem a) => a -> a -> 'Bool PrimNotEqual :: forall a b . (b ~ 'MatVecScalarElem a) => a -> a -> 'Bool PrimDFdx :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimDFdy :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimFWidth :: forall a (b :: 'Nat) . (a ~ 'VecScalar b 'Float) => a -> a PrimNoise1 :: forall (a :: 'Nat) . 'VecScalar a 'Float -> 'Float PrimNoise2 :: forall (a :: 'Nat) . 'VecScalar a 'Float -> 'Vec 2 'Float PrimNoise3 :: forall (a :: 'Nat) . 'VecScalar a 'Float -> 'Vec 3 'Float PrimNoise4 :: forall (a :: 'Nat) . 'VecScalar a 'Float -> 'Vec 4 'Float head :: forall a . 'List a -> a ++ :: forall a . 'List a -> 'List a -> 'List a foldr :: forall a b . (b -> a -> a) -> a -> 'List b -> a concat :: forall a . 'List ('List a) -> 'List a map :: forall a b . (a -> b) -> 'List a -> 'List b concatMap :: forall a b . (a -> 'List b) -> 'List a -> 'List b len :: forall a . 'List a -> 'Int 'Maybe :: Type -> Type Nothing :: forall a . 'Maybe a Just :: forall a . a -> 'Maybe a 'MaybeCase :: forall a . (b :: 'Maybe a -> Type) -> b Nothing -> ((c :: a) -> b (Just c)) -> (d :: 'Maybe a) -> b d match'Maybe :: (a :: Type -> Type) -> ((b :: Type) -> a ('Maybe b)) -> (c :: Type) -> a c -> a c 'Vector :: 'Nat -> Type -> Type 'VectorCase :: forall (a :: 'Nat) b . (c :: 'Vector a b -> Type) -> (d :: 'Vector a b) -> c d match'Vector :: (a :: Type -> Type) -> ((b :: 'Nat) -> (c :: Type) -> a ('Vector b c)) -> (d :: Type) -> a d -> a d 'PrimitiveType :: Type Triangle :: 'PrimitiveType Line :: 'PrimitiveType Point :: 'PrimitiveType TriangleAdjacency :: 'PrimitiveType LineAdjacency :: 'PrimitiveType 'PrimitiveTypeCase :: (a :: 'PrimitiveType -> Type) -> a Triangle -> a Line -> a Point -> a TriangleAdjacency -> a LineAdjacency -> (b :: 'PrimitiveType) -> a b match'PrimitiveType :: (a :: Type -> Type) -> a 'PrimitiveType -> (b :: Type) -> a b -> a b 'Primitive :: Type -> 'PrimitiveType -> Type PrimPoint :: forall a . a -> 'Primitive a Point PrimLine :: forall a . a -> a -> 'Primitive a Line PrimTriangle :: forall a . a -> a -> a -> 'Primitive a Triangle 'PrimitiveCase :: forall 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)) -> forall (j :: 'PrimitiveType) . (k :: 'Primitive a j) -> b j k match'Primitive :: (a :: Type -> Type) -> ((b :: Type) -> (c :: 'PrimitiveType) -> a ('Primitive b c)) -> (d :: Type) -> a d -> a d mapPrimitive :: forall a b (c :: 'PrimitiveType) . (a -> b) -> 'Primitive a c -> 'Primitive b c 'PrimitiveStream :: 'PrimitiveType -> Type -> Type mapPrimitives :: forall a b (c :: 'PrimitiveType) . (a -> b) -> 'List ('Primitive a c) -> 'List ('Primitive b c) 'ListElem :: Type -> Type fetchArrays :: forall (a :: 'PrimitiveType) (b :: 'List Type) (c :: 'List Type) . (b ~ map Type Type 'ListElem c) => 'HList c -> 'PrimitiveStream a ('HList b) fetch :: forall (a :: 'PrimitiveType) (b :: 'List Type) . 'String -> 'HList b -> 'PrimitiveStream a ('HList b) Attribute :: forall a . 'String -> a fetchStream :: forall (a :: 'PrimitiveType) (b :: 'List Type) . 'String -> (c :: 'List 'String) -> (len 'String c ~ len Type b) => 'PrimitiveStream a ('HList b) 'SimpleFragment :: Type -> Type SimpleFragment :: forall a . 'Vec 3 'Float -> a -> 'SimpleFragment a 'SimpleFragmentCase :: forall a . (b :: 'SimpleFragment a -> Type) -> ((c :: 'Vec 3 'Float) -> (d :: a) -> b (SimpleFragment c d)) -> (e :: 'SimpleFragment a) -> b e match'SimpleFragment :: (a :: Type -> Type) -> ((b :: Type) -> a ('SimpleFragment b)) -> (c :: Type) -> a c -> a c 'Fragment :: 'Nat -> Type -> Type sFragmentCoords :: forall a . 'SimpleFragment a -> 'VecS 'Float 3 sFragmentValue :: forall a . 'SimpleFragment a -> a 'FragmentStream :: 'Nat -> Type -> Type customizeDepth :: forall a (b :: 'Nat) . (a -> 'Float) -> 'Fragment b a -> 'Fragment b a customizeDepths :: forall a (b :: 'Nat) . (a -> 'Float) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) filterFragment :: forall a (b :: 'Nat) . (a -> 'Bool) -> 'Fragment b a -> 'Fragment b a filterFragments :: forall a (b :: 'Nat) . (a -> 'Bool) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) -> 'List ('Vector b ('Maybe ('SimpleFragment a))) mapFragment :: forall a b (c :: 'Nat) . (a -> b) -> 'Fragment c a -> 'Fragment c b mapFragments :: forall a b (c :: 'Nat) . (a -> b) -> 'List ('Vector c ('Maybe ('SimpleFragment a))) -> 'List ('Vector c ('Maybe ('SimpleFragment b))) 'ImageKind :: Type Color :: Type -> 'ImageKind Depth :: 'ImageKind Stencil :: 'ImageKind 'ImageKindCase :: (a :: 'ImageKind -> Type) -> ((b :: Type) -> a (Color b)) -> a Depth -> a Stencil -> (c :: 'ImageKind) -> a c match'ImageKind :: (a :: Type -> Type) -> a 'ImageKind -> (b :: Type) -> a b -> a b imageType :: 'ImageKind -> Type 'Image :: 'Nat -> 'ImageKind -> Type 'ImageCase :: forall (a :: 'Nat) (b :: 'ImageKind) . (c :: 'Image a b -> Type) -> (d :: 'Image a b) -> c d match'Image :: (a :: Type -> Type) -> ((b :: 'Nat) -> (c :: 'ImageKind) -> a ('Image b c)) -> (d :: Type) -> a d -> a d ColorImage :: forall (a :: 'Nat) (b :: 'Nat) c d . ('Num c, d ~ 'VecScalar b c) => d -> 'Image a (Color d) DepthImage :: forall (a :: 'Nat) . 'Float -> 'Image a Depth StencilImage :: forall (a :: 'Nat) . 'Int -> 'Image a Stencil emptyDepthImage :: 'Float -> 'Image 1 Depth emptyColorImage :: forall (a :: 'Nat) b c . ('Num b, c ~ 'VecScalar a b) => c -> 'Image 1 (Color c) 'Swizz :: Type Sx :: 'Swizz Sy :: 'Swizz Sz :: 'Swizz Sw :: 'Swizz 'SwizzCase :: (a :: 'Swizz -> Type) -> a Sx -> a Sy -> a Sz -> a Sw -> (b :: 'Swizz) -> a b match'Swizz :: (a :: Type -> Type) -> a 'Swizz -> (b :: Type) -> a b -> a b swizzscalar :: forall a (b :: 'Nat) . 'Vec b a -> 'Swizz -> a definedVec :: forall a (b :: 'Nat) . 'Vec b a -> 'Bool swizzvector :: forall a (b :: 'Nat) (c :: 'Nat) . 'Vec b a -> 'Vec c 'Swizz -> 'VecS a c 'BlendingFactor :: Type ZeroBF :: 'BlendingFactor OneBF :: 'BlendingFactor SrcColor :: 'BlendingFactor OneMinusSrcColor :: 'BlendingFactor DstColor :: 'BlendingFactor OneMinusDstColor :: 'BlendingFactor SrcAlpha :: 'BlendingFactor OneMinusSrcAlpha :: 'BlendingFactor DstAlpha :: 'BlendingFactor OneMinusDstAlpha :: 'BlendingFactor ConstantColor :: 'BlendingFactor OneMinusConstantColor :: 'BlendingFactor ConstantAlpha :: 'BlendingFactor OneMinusConstantAlpha :: 'BlendingFactor SrcAlphaSaturate :: 'BlendingFactor '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 match'BlendingFactor :: (a :: Type -> Type) -> a 'BlendingFactor -> (b :: Type) -> a b -> a b 'BlendEquation :: Type FuncAdd :: 'BlendEquation FuncSubtract :: 'BlendEquation FuncReverseSubtract :: 'BlendEquation Min :: 'BlendEquation Max :: 'BlendEquation 'BlendEquationCase :: (a :: 'BlendEquation -> Type) -> a FuncAdd -> a FuncSubtract -> a FuncReverseSubtract -> a Min -> a Max -> (b :: 'BlendEquation) -> a b match'BlendEquation :: (a :: Type -> Type) -> a 'BlendEquation -> (b :: Type) -> a b -> a b 'LogicOperation :: Type Clear :: 'LogicOperation And :: 'LogicOperation AndReverse :: 'LogicOperation Copy :: 'LogicOperation AndInverted :: 'LogicOperation Noop :: 'LogicOperation Xor :: 'LogicOperation Or :: 'LogicOperation Nor :: 'LogicOperation Equiv :: 'LogicOperation Invert :: 'LogicOperation OrReverse :: 'LogicOperation CopyInverted :: 'LogicOperation OrInverted :: 'LogicOperation Nand :: 'LogicOperation Set :: 'LogicOperation '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 match'LogicOperation :: (a :: Type -> Type) -> a 'LogicOperation -> (b :: Type) -> a b -> a b 'StencilOperation :: Type OpZero :: 'StencilOperation OpKeep :: 'StencilOperation OpReplace :: 'StencilOperation OpIncr :: 'StencilOperation OpIncrWrap :: 'StencilOperation OpDecr :: 'StencilOperation OpDecrWrap :: 'StencilOperation OpInvert :: 'StencilOperation 'StencilOperationCase :: (a :: 'StencilOperation -> Type) -> a OpZero -> a OpKeep -> a OpReplace -> a OpIncr -> a OpIncrWrap -> a OpDecr -> a OpDecrWrap -> a OpInvert -> (b :: 'StencilOperation) -> a b match'StencilOperation :: (a :: Type -> Type) -> a 'StencilOperation -> (b :: Type) -> a b -> a b 'ComparisonFunction :: Type Never :: 'ComparisonFunction Less :: 'ComparisonFunction Equal :: 'ComparisonFunction Lequal :: 'ComparisonFunction Greater :: 'ComparisonFunction Notequal :: 'ComparisonFunction Gequal :: 'ComparisonFunction Always :: 'ComparisonFunction 'ComparisonFunctionCase :: (a :: 'ComparisonFunction -> Type) -> a Never -> a Less -> a Equal -> a Lequal -> a Greater -> a Notequal -> a Gequal -> a Always -> (b :: 'ComparisonFunction) -> a b match'ComparisonFunction :: (a :: Type -> Type) -> a 'ComparisonFunction -> (b :: Type) -> a b -> a b 'ProvokingVertex :: Type LastVertex :: 'ProvokingVertex FirstVertex :: 'ProvokingVertex 'ProvokingVertexCase :: (a :: 'ProvokingVertex -> Type) -> a LastVertex -> a FirstVertex -> (b :: 'ProvokingVertex) -> a b match'ProvokingVertex :: (a :: Type -> Type) -> a 'ProvokingVertex -> (b :: Type) -> a b -> a b 'CullMode :: Type CullFront :: 'CullMode CullBack :: 'CullMode CullNone :: 'CullMode 'CullModeCase :: (a :: 'CullMode -> Type) -> a CullFront -> a CullBack -> a CullNone -> (b :: 'CullMode) -> a b match'CullMode :: (a :: Type -> Type) -> a 'CullMode -> (b :: Type) -> a b -> a b 'PointSize :: Type -> Type PointSize :: forall a . 'Float -> 'PointSize a ProgramPointSize :: forall a . (a -> 'Float) -> 'PointSize a 'PointSizeCase :: forall a . (b :: 'PointSize a -> Type) -> ((c :: 'Float) -> b (PointSize c)) -> ((d :: a -> 'Float) -> b (ProgramPointSize d)) -> (e :: 'PointSize a) -> b e match'PointSize :: (a :: Type -> Type) -> ((b :: Type) -> a ('PointSize b)) -> (c :: Type) -> a c -> a c 'PolygonMode :: Type -> Type PolygonFill :: forall a . 'PolygonMode a PolygonPoint :: forall a . 'PointSize a -> 'PolygonMode a PolygonLine :: forall a . 'Float -> 'PolygonMode a 'PolygonModeCase :: forall a . (b :: 'PolygonMode a -> Type) -> b PolygonFill -> ((c :: 'PointSize a) -> b (PolygonPoint c)) -> ((d :: 'Float) -> b (PolygonLine d)) -> (e :: 'PolygonMode a) -> b e match'PolygonMode :: (a :: Type -> Type) -> ((b :: Type) -> a ('PolygonMode b)) -> (c :: Type) -> a c -> a c 'PolygonOffset :: Type NoOffset :: 'PolygonOffset Offset :: 'Float -> 'Float -> 'PolygonOffset 'PolygonOffsetCase :: (a :: 'PolygonOffset -> Type) -> a NoOffset -> ((b :: 'Float) -> (c :: 'Float) -> a (Offset b c)) -> (d :: 'PolygonOffset) -> a d match'PolygonOffset :: (a :: Type -> Type) -> a 'PolygonOffset -> (b :: Type) -> a b -> a b 'PointSpriteCoordOrigin :: Type LowerLeft :: 'PointSpriteCoordOrigin UpperLeft :: 'PointSpriteCoordOrigin 'PointSpriteCoordOriginCase :: (a :: 'PointSpriteCoordOrigin -> Type) -> a LowerLeft -> a UpperLeft -> (b :: 'PointSpriteCoordOrigin) -> a b match'PointSpriteCoordOrigin :: (a :: Type -> Type) -> a 'PointSpriteCoordOrigin -> (b :: Type) -> a b -> a b primTexture :: () -> 'Vec 2 'Float -> 'Vec 4 'Float Uniform :: forall a . 'String -> a 'RasterContext :: Type -> 'PrimitiveType -> Type TriangleCtx :: forall a . 'CullMode -> 'PolygonMode a -> 'PolygonOffset -> 'ProvokingVertex -> 'RasterContext a Triangle PointCtx :: forall a . 'PointSize a -> 'Float -> 'PointSpriteCoordOrigin -> 'RasterContext a Point LineCtx :: forall a . 'Float -> 'ProvokingVertex -> 'RasterContext a Line 'RasterContextCase :: forall 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)) -> forall (m :: 'PrimitiveType) . (n :: 'RasterContext a m) -> b m n match'RasterContext :: (a :: Type -> Type) -> ((b :: Type) -> (c :: 'PrimitiveType) -> a ('RasterContext b c)) -> (d :: Type) -> a d -> a d 'Blending :: Type -> Type NoBlending :: forall a . 'Blending a BlendLogicOp :: forall a . 'Integral a => 'LogicOperation -> 'Blending a Blend :: ('BlendEquation, 'BlendEquation) -> (('BlendingFactor, 'BlendingFactor), ('BlendingFactor, 'BlendingFactor)) -> 'Vec 4 'Float -> 'Blending 'Float 'BlendingCase :: (a :: (b :: Type) -> 'Blending b -> Type) -> (forall c . a c (NoBlending c)) -> (forall 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)) -> forall j . (k :: 'Blending j) -> a j k match'Blending :: (a :: Type -> Type) -> ((b :: Type) -> a ('Blending b)) -> (c :: Type) -> a c -> a c 'StencilTests :: Type 'StencilTestsCase :: (a :: 'StencilTests -> Type) -> (b :: 'StencilTests) -> a b match'StencilTests :: (a :: Type -> Type) -> a 'StencilTests -> (b :: Type) -> a b -> a b 'StencilOps :: Type 'StencilOpsCase :: (a :: 'StencilOps -> Type) -> (b :: 'StencilOps) -> a b match'StencilOps :: (a :: Type -> Type) -> a 'StencilOps -> (b :: Type) -> a b -> a b 'FragmentOperation :: 'ImageKind -> Type ColorOp :: forall a (b :: 'Nat) . 'Num a => 'Blending a -> 'VecScalar b 'Bool -> 'FragmentOperation (Color ('VecScalar b a)) DepthOp :: 'ComparisonFunction -> 'Bool -> 'FragmentOperation Depth StencilOp :: 'StencilTests -> 'StencilOps -> 'StencilOps -> 'FragmentOperation Stencil 'FragmentOperationCase :: (a :: (b :: 'ImageKind) -> 'FragmentOperation b -> Type) -> (forall 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)) -> forall (m :: 'ImageKind) . (n :: 'FragmentOperation m) -> a m n match'FragmentOperation :: (a :: Type -> Type) -> ((b :: 'ImageKind) -> a ('FragmentOperation b)) -> (c :: Type) -> a c -> a c 'Interpolated :: Type -> Type Smooth :: forall a . 'Floating a => 'Interpolated a NoPerspective :: forall a . 'Floating a => 'Interpolated a Flat :: forall a . 'Interpolated a 'InterpolatedCase :: forall a . (b :: 'Interpolated a -> Type) -> (forall (c :: 'Floating a) . b (Smooth c)) -> (forall (d :: 'Floating a) . b (NoPerspective d)) -> b Flat -> (e :: 'Interpolated a) -> b e match'Interpolated :: (a :: Type -> Type) -> ((b :: Type) -> a ('Interpolated b)) -> (c :: Type) -> a c -> a c rasterizePrimitive :: forall (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) rasterizePrimitives :: forall (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)))) 'ImageLC :: Type -> 'Nat allSame :: forall a . 'List a -> Type sameLayerCounts :: 'List Type -> Type 'FrameBuffer :: 'Nat -> 'List 'ImageKind -> Type 'FrameBufferCase :: forall (a :: 'Nat) (b :: 'List 'ImageKind) . (c :: 'FrameBuffer a b -> Type) -> (d :: 'FrameBuffer a b) -> c d match'FrameBuffer :: (a :: Type -> Type) -> ((b :: 'Nat) -> (c :: 'List 'ImageKind) -> a ('FrameBuffer b c)) -> (d :: Type) -> a d -> a d imageType' :: 'List 'ImageKind -> 'List Type 'FragmentOperationKind :: Type -> 'ImageKind Accumulate :: forall (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 accumulateWith :: forall a b . a -> b -> (a, b) overlay :: forall (a :: 'Nat) (b :: 'List Type) . 'FrameBuffer a (map Type 'ImageKind 'FragmentOperationKind b) -> ('HList b, 'List ('Fragment a ('HList (imageType' (map Type 'ImageKind 'FragmentOperationKind b))))) -> 'FrameBuffer a (map Type 'ImageKind 'FragmentOperationKind b) 'GetImageKind :: Type -> 'ImageKind FrameBuffer :: forall (a :: 'List Type) . sameLayerCounts a => 'HList a -> 'FrameBuffer ('ImageLC (head Type a)) (map Type 'ImageKind 'GetImageKind a) imageFrame :: forall (a :: 'List Type) . sameLayerCounts a => 'HList a -> 'FrameBuffer ('ImageLC (head Type a)) (map Type 'ImageKind 'GetImageKind a) accumulate :: forall (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) PrjImage :: forall (a :: 'ImageKind) . 'FrameBuffer 1 (Cons a Nil) -> 'Image 1 a PrjImageColor :: 'FrameBuffer 1 (Cons Depth (Cons (Color ('Vec 4 'Float)) Nil)) -> 'Image 1 (Color ('Vec 4 'Float)) 'Output :: Type ScreenOut :: forall (a :: 'Nat) (b :: 'List 'ImageKind) . 'FrameBuffer a b -> 'Output 'OutputCase :: (a :: 'Output -> Type) -> (forall (b :: 'Nat) (c :: 'List 'ImageKind) . (d :: 'FrameBuffer b c) -> a (ScreenOut b c d)) -> (e :: 'Output) -> a e match'Output :: (a :: Type -> Type) -> a 'Output -> (b :: Type) -> a b -> a b renderFrame :: forall (a :: 'Nat) (b :: 'List 'ImageKind) . 'FrameBuffer a b -> 'Output 'Texture :: Type Texture2DSlot :: 'String -> 'Texture Texture2D :: 'Vec 2 'Int -> 'Image 1 (Color ('Vec 4 'Float)) -> 'Texture '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 match'Texture :: (a :: Type -> Type) -> a 'Texture -> (b :: Type) -> a b -> a b 'Filter :: Type PointFilter :: 'Filter LinearFilter :: 'Filter 'FilterCase :: (a :: 'Filter -> Type) -> a PointFilter -> a LinearFilter -> (b :: 'Filter) -> a b match'Filter :: (a :: Type -> Type) -> a 'Filter -> (b :: Type) -> a b -> a b 'EdgeMode :: Type Repeat :: 'EdgeMode MirroredRepeat :: 'EdgeMode ClampToEdge :: 'EdgeMode 'EdgeModeCase :: (a :: 'EdgeMode -> Type) -> a Repeat -> a MirroredRepeat -> a ClampToEdge -> (b :: 'EdgeMode) -> a b match'EdgeMode :: (a :: Type -> Type) -> a 'EdgeMode -> (b :: Type) -> a b -> a b 'Sampler :: Type Sampler :: 'Filter -> 'EdgeMode -> 'Texture -> 'Sampler 'SamplerCase :: (a :: 'Sampler -> Type) -> ((b :: 'Filter) -> (c :: 'EdgeMode) -> (d :: 'Texture) -> a (Sampler b c d)) -> (e :: 'Sampler) -> a e match'Sampler :: (a :: Type -> Type) -> a 'Sampler -> (b :: Type) -> a b -> a b texture2D :: 'Sampler -> 'Vec 2 'Float -> 'Vec 4 'Float accumulationContext :: forall a . a -> a ------------ tooltips testdata/Builtins.lc 10:1-10:3 forall a . a -> a testdata/Builtins.lc 10:8-10:9 _b testdata/Builtins.lc 14:6-14:10 Type | Type -> Nat -> Type testdata/Builtins.lc 14:6-17:37 Type testdata/Builtins.lc 14:17-14:21 Type testdata/Builtins.lc 14:26-14:29 Type testdata/Builtins.lc 14:26-14:37 Type testdata/Builtins.lc 14:33-14:37 Type testdata/Builtins.lc 15:3-15:5 VecS _d 2 | forall a . a -> a -> VecS a 2 testdata/Builtins.lc 15:3-15:27 Type testdata/Builtins.lc 15:9-15:10 Type testdata/Builtins.lc 15:9-15:27 Type testdata/Builtins.lc 15:14-15:15 Type testdata/Builtins.lc 15:14-15:27 Type testdata/Builtins.lc 15:19-15:23 Type -> Nat -> Type testdata/Builtins.lc 15:19-15:25 Nat -> Type testdata/Builtins.lc 15:19-15:27 Type testdata/Builtins.lc 15:24-15:25 Type testdata/Builtins.lc 15:26-15:27 _b testdata/Builtins.lc 16:3-16:5 VecS _f 3 | forall a . a -> a -> a -> VecS a 3 testdata/Builtins.lc 16:3-16:32 Type testdata/Builtins.lc 16:9-16:10 Type testdata/Builtins.lc 16:9-16:32 Type testdata/Builtins.lc 16:14-16:15 Type testdata/Builtins.lc 16:14-16:32 Type testdata/Builtins.lc 16:19-16:20 Type testdata/Builtins.lc 16:19-16:32 Type testdata/Builtins.lc 16:24-16:28 Type -> Nat -> Type testdata/Builtins.lc 16:24-16:30 Nat -> Type testdata/Builtins.lc 16:24-16:32 Type testdata/Builtins.lc 16:29-16:30 Type testdata/Builtins.lc 16:31-16:32 _b testdata/Builtins.lc 17:3-17:5 VecS _h 4 | forall a . a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 17:3-17:37 Type testdata/Builtins.lc 17:9-17:10 Type testdata/Builtins.lc 17:9-17:37 Type testdata/Builtins.lc 17:14-17:15 Type testdata/Builtins.lc 17:14-17:37 Type testdata/Builtins.lc 17:19-17:20 Type testdata/Builtins.lc 17:19-17:37 Type testdata/Builtins.lc 17:24-17:25 Type testdata/Builtins.lc 17:24-17:37 Type testdata/Builtins.lc 17:29-17:33 Type -> Nat -> Type testdata/Builtins.lc 17:29-17:35 Nat -> Type testdata/Builtins.lc 17:29-17:37 Type testdata/Builtins.lc 17:34-17:35 Type testdata/Builtins.lc 17:36-17:37 _b testdata/Builtins.lc 19:11-19:43 Type testdata/Builtins.lc 19:12-19:13 _f testdata/Builtins.lc 19:17-19:18 Type | _e testdata/Builtins.lc 19:23-19:27 Type -> Nat -> Type testdata/Builtins.lc 19:23-19:29 Nat -> Type testdata/Builtins.lc 19:23-19:31 Type testdata/Builtins.lc 19:23-19:43 Type testdata/Builtins.lc 19:28-19:29 Type testdata/Builtins.lc 19:30-19:31 _c testdata/Builtins.lc 19:35-19:39 Type -> Nat -> Type testdata/Builtins.lc 19:35-19:41 Nat -> Type testdata/Builtins.lc 19:35-19:43 Type testdata/Builtins.lc 19:40-19:41 Type testdata/Builtins.lc 19:42-19:43 Nat testdata/Builtins.lc 20:1-20:7 forall a b (c :: Nat) . (a -> b) -> VecS a c -> VecS b c testdata/Builtins.lc 20:21-20:23 forall a . a -> a -> VecS a 2 testdata/Builtins.lc 20:21-20:29 _f -> VecS _f 2 testdata/Builtins.lc 20:21-20:35 VecS _f 2 | _a -> _a -> VecS _e 2 | _b -> VecS _f 2 testdata/Builtins.lc 20:21-21:43 (_e -> _e -> _e -> _e -> VecS _d 4) -> forall (a :: Nat) . VecS _e a -> VecS _d a testdata/Builtins.lc 20:21-22:51 (_c -> _b) -> VecS _c _a -> VecS _b _a | VecS _d _b -> VecS _c _b | forall (a :: Nat) . VecS _e a -> VecS _d a testdata/Builtins.lc 20:25-20:26 _i -> _h testdata/Builtins.lc 20:25-20:28 _f testdata/Builtins.lc 20:27-20:28 _c testdata/Builtins.lc 20:31-20:32 _g -> _f testdata/Builtins.lc 20:31-20:34 _f testdata/Builtins.lc 20:33-20:34 _g testdata/Builtins.lc 21:23-21:25 forall a . a -> a -> a -> VecS a 3 testdata/Builtins.lc 21:23-21:31 _g -> _g -> VecS _g 3 testdata/Builtins.lc 21:23-21:37 _g -> VecS _g 3 testdata/Builtins.lc 21:23-21:43 VecS _g 3 | _e -> _e -> _e -> VecS _d 3 | _f -> _f -> VecS _e 3 | _g -> VecS _f 3 testdata/Builtins.lc 21:27-21:28 _i -> _h testdata/Builtins.lc 21:27-21:30 _g testdata/Builtins.lc 21:29-21:30 _h testdata/Builtins.lc 21:33-21:34 _h -> _g testdata/Builtins.lc 21:33-21:36 _g testdata/Builtins.lc 21:35-21:36 _h testdata/Builtins.lc 21:39-21:40 _h -> _g testdata/Builtins.lc 21:39-21:42 _g testdata/Builtins.lc 21:41-21:42 _h testdata/Builtins.lc 22:25-22:27 forall a . a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 22:25-22:33 _h -> _h -> _h -> VecS _h 4 testdata/Builtins.lc 22:25-22:39 _h -> _h -> VecS _h 4 testdata/Builtins.lc 22:25-22:45 _h -> VecS _h 4 testdata/Builtins.lc 22:25-22:51 VecS _h 4 | _e -> _e -> _e -> _e -> VecS _d 4 | _f -> _f -> _f -> VecS _e 4 | _g -> _g -> VecS _f 4 | _h -> VecS _g 4 testdata/Builtins.lc 22:29-22:30 _j -> _i testdata/Builtins.lc 22:29-22:32 _h testdata/Builtins.lc 22:31-22:32 _i testdata/Builtins.lc 22:35-22:36 _i -> _h testdata/Builtins.lc 22:35-22:38 _h testdata/Builtins.lc 22:37-22:38 _i testdata/Builtins.lc 22:41-22:42 _i -> _h testdata/Builtins.lc 22:41-22:44 _h testdata/Builtins.lc 22:43-22:44 _i testdata/Builtins.lc 22:47-22:48 _i -> _h testdata/Builtins.lc 22:47-22:50 _h testdata/Builtins.lc 22:49-22:50 _i testdata/Builtins.lc 24:23-24:26 Type testdata/Builtins.lc 24:37-24:40 Nat -> Type -> Type testdata/Builtins.lc 24:47-24:51 Type -> Nat -> Type testdata/Builtins.lc 24:47-24:53 Nat -> Type testdata/Builtins.lc 24:47-24:55 Nat -> Type -> Type | Type | Type -> Type testdata/Builtins.lc 24:52-24:53 Type testdata/Builtins.lc 24:54-24:55 Nat testdata/Builtins.lc 27:29-27:32 Type testdata/Builtins.lc 28:5-28:14 Nat -> Type -> Type testdata/Builtins.lc 28:21-28:22 Type testdata/Builtins.lc 28:21-29:60 Nat -> Type | Nat -> Type -> Type | Type -> Type testdata/Builtins.lc 29:37-29:40 Nat -> Type -> Type testdata/Builtins.lc 29:37-29:58 Type -> Type testdata/Builtins.lc 29:37-29:60 Nat -> Type | Type testdata/Builtins.lc 29:42-29:47 Nat -> Nat testdata/Builtins.lc 29:42-29:57 Nat testdata/Builtins.lc 29:49-29:54 Nat -> Nat testdata/Builtins.lc 29:49-29:56 Nat testdata/Builtins.lc 29:55-29:56 Nat testdata/Builtins.lc 29:59-29:60 Type testdata/Builtins.lc 32:6-32:9 Nat -> Nat -> Type -> Type | Type testdata/Builtins.lc 32:6-41:84 Type testdata/Builtins.lc 32:13-32:16 Type testdata/Builtins.lc 32:20-32:23 Type testdata/Builtins.lc 32:20-32:39 Type testdata/Builtins.lc 32:27-32:31 Type testdata/Builtins.lc 32:27-32:39 Type testdata/Builtins.lc 32:35-32:39 Type testdata/Builtins.lc 33:3-33:7 Mat 2 2 Float | Vec 2 Float -> Vec 2 Float -> Mat 2 2 Float testdata/Builtins.lc 33:3-33:54 Type testdata/Builtins.lc 33:11-33:14 Nat -> Type -> Type testdata/Builtins.lc 33:11-33:16 Type -> Type testdata/Builtins.lc 33:11-33:22 Type testdata/Builtins.lc 33:15-33:16 _b testdata/Builtins.lc 33:17-33:22 Type testdata/Builtins.lc 33:26-33:29 Nat -> Type -> Type testdata/Builtins.lc 33:26-33:31 Type -> Type testdata/Builtins.lc 33:26-33:37 Type testdata/Builtins.lc 33:26-33:54 Type testdata/Builtins.lc 33:30-33:31 _b testdata/Builtins.lc 33:32-33:37 Type testdata/Builtins.lc 33:41-33:44 Nat -> Nat -> Type -> Type testdata/Builtins.lc 33:41-33:46 Nat -> Type -> Type testdata/Builtins.lc 33:41-33:48 Type -> Type testdata/Builtins.lc 33:41-33:54 Type testdata/Builtins.lc 33:45-33:46 _b testdata/Builtins.lc 33:45-33:48 (a :: Type) -> Mat 2 2 a -> Type testdata/Builtins.lc 33:45-33:54 Mat 2 2 Float -> Type testdata/Builtins.lc 33:47-33:48 _b testdata/Builtins.lc 33:49-33:54 Type testdata/Builtins.lc 34:3-34:7 Mat 3 2 Float | Vec 3 Float -> Vec 3 Float -> Mat 3 2 Float testdata/Builtins.lc 34:3-34:54 Type testdata/Builtins.lc 34:11-34:14 Nat -> Type -> Type testdata/Builtins.lc 34:11-34:16 Type -> Type testdata/Builtins.lc 34:11-34:22 Type testdata/Builtins.lc 34:15-34:16 _b testdata/Builtins.lc 34:17-34:22 Type testdata/Builtins.lc 34:26-34:29 Nat -> Type -> Type testdata/Builtins.lc 34:26-34:31 Type -> Type testdata/Builtins.lc 34:26-34:37 Type testdata/Builtins.lc 34:26-34:54 Type testdata/Builtins.lc 34:30-34:31 _b testdata/Builtins.lc 34:32-34:37 Type testdata/Builtins.lc 34:41-34:44 Nat -> Nat -> Type -> Type testdata/Builtins.lc 34:41-34:46 Nat -> Type -> Type testdata/Builtins.lc 34:41-34:48 Type -> Type testdata/Builtins.lc 34:41-34:54 Type testdata/Builtins.lc 34:45-34:46 _b testdata/Builtins.lc 34:45-34:48 (a :: Type) -> Mat 3 2 a -> Type testdata/Builtins.lc 34:45-34:54 Mat 3 2 Float -> Type testdata/Builtins.lc 34:47-34:48 _b testdata/Builtins.lc 34:49-34:54 Type testdata/Builtins.lc 35:3-35:7 Mat 4 2 Float | Vec 4 Float -> Vec 4 Float -> Mat 4 2 Float testdata/Builtins.lc 35:3-35:54 Type testdata/Builtins.lc 35:11-35:14 Nat -> Type -> Type testdata/Builtins.lc 35:11-35:16 Type -> Type testdata/Builtins.lc 35:11-35:22 Type testdata/Builtins.lc 35:15-35:16 _b testdata/Builtins.lc 35:17-35:22 Type testdata/Builtins.lc 35:26-35:29 Nat -> Type -> Type testdata/Builtins.lc 35:26-35:31 Type -> Type testdata/Builtins.lc 35:26-35:37 Type testdata/Builtins.lc 35:26-35:54 Type testdata/Builtins.lc 35:30-35:31 _b testdata/Builtins.lc 35:32-35:37 Type testdata/Builtins.lc 35:41-35:44 Nat -> Nat -> Type -> Type testdata/Builtins.lc 35:41-35:46 Nat -> Type -> Type testdata/Builtins.lc 35:41-35:48 Type -> Type testdata/Builtins.lc 35:41-35:54 Type testdata/Builtins.lc 35:45-35:46 _b testdata/Builtins.lc 35:45-35:48 (a :: Type) -> Mat 4 2 a -> Type testdata/Builtins.lc 35:45-35:54 Mat 4 2 Float -> Type testdata/Builtins.lc 35:47-35:48 _b testdata/Builtins.lc 35:49-35:54 Type testdata/Builtins.lc 36:3-36:7 Mat 2 3 Float | Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 3 Float testdata/Builtins.lc 36:3-36:69 Type testdata/Builtins.lc 36:11-36:14 Nat -> Type -> Type testdata/Builtins.lc 36:11-36:16 Type -> Type testdata/Builtins.lc 36:11-36:22 Type testdata/Builtins.lc 36:15-36:16 _b testdata/Builtins.lc 36:17-36:22 Type testdata/Builtins.lc 36:26-36:29 Nat -> Type -> Type testdata/Builtins.lc 36:26-36:31 Type -> Type testdata/Builtins.lc 36:26-36:37 Type testdata/Builtins.lc 36:26-36:69 Type testdata/Builtins.lc 36:30-36:31 _b testdata/Builtins.lc 36:32-36:37 Type testdata/Builtins.lc 36:41-36:44 Nat -> Type -> Type testdata/Builtins.lc 36:41-36:46 Type -> Type testdata/Builtins.lc 36:41-36:52 Type testdata/Builtins.lc 36:41-36:69 Type testdata/Builtins.lc 36:45-36:46 _b testdata/Builtins.lc 36:47-36:52 Type testdata/Builtins.lc 36:56-36:59 Nat -> Nat -> Type -> Type testdata/Builtins.lc 36:56-36:61 Nat -> Type -> Type testdata/Builtins.lc 36:56-36:63 Type -> Type testdata/Builtins.lc 36:56-36:69 Type testdata/Builtins.lc 36:60-36:61 _b testdata/Builtins.lc 36:60-36:63 (a :: Type) -> Mat 2 3 a -> Type testdata/Builtins.lc 36:60-36:69 Mat 2 3 Float -> Type testdata/Builtins.lc 36:62-36:63 _b testdata/Builtins.lc 36:64-36:69 Type testdata/Builtins.lc 37:3-37:7 Mat 3 3 Float | Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 3 Float testdata/Builtins.lc 37:3-37:69 Type testdata/Builtins.lc 37:11-37:14 Nat -> Type -> Type testdata/Builtins.lc 37:11-37:16 Type -> Type testdata/Builtins.lc 37:11-37:22 Type testdata/Builtins.lc 37:15-37:16 _b testdata/Builtins.lc 37:17-37:22 Type testdata/Builtins.lc 37:26-37:29 Nat -> Type -> Type testdata/Builtins.lc 37:26-37:31 Type -> Type testdata/Builtins.lc 37:26-37:37 Type testdata/Builtins.lc 37:26-37:69 Type testdata/Builtins.lc 37:30-37:31 _b testdata/Builtins.lc 37:32-37:37 Type testdata/Builtins.lc 37:41-37:44 Nat -> Type -> Type testdata/Builtins.lc 37:41-37:46 Type -> Type testdata/Builtins.lc 37:41-37:52 Type testdata/Builtins.lc 37:41-37:69 Type testdata/Builtins.lc 37:45-37:46 _b testdata/Builtins.lc 37:47-37:52 Type testdata/Builtins.lc 37:56-37:59 Nat -> Nat -> Type -> Type testdata/Builtins.lc 37:56-37:61 Nat -> Type -> Type testdata/Builtins.lc 37:56-37:63 Type -> Type testdata/Builtins.lc 37:56-37:69 Type testdata/Builtins.lc 37:60-37:61 _b testdata/Builtins.lc 37:60-37:63 (a :: Type) -> Mat 3 3 a -> Type testdata/Builtins.lc 37:60-37:69 Mat 3 3 Float -> Type testdata/Builtins.lc 37:62-37:63 _b testdata/Builtins.lc 37:64-37:69 Type testdata/Builtins.lc 38:3-38:7 Mat 4 3 Float | Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 3 Float testdata/Builtins.lc 38:3-38:69 Type testdata/Builtins.lc 38:11-38:14 Nat -> Type -> Type testdata/Builtins.lc 38:11-38:16 Type -> Type testdata/Builtins.lc 38:11-38:22 Type testdata/Builtins.lc 38:15-38:16 _b testdata/Builtins.lc 38:17-38:22 Type testdata/Builtins.lc 38:26-38:29 Nat -> Type -> Type testdata/Builtins.lc 38:26-38:31 Type -> Type testdata/Builtins.lc 38:26-38:37 Type testdata/Builtins.lc 38:26-38:69 Type testdata/Builtins.lc 38:30-38:31 _b testdata/Builtins.lc 38:32-38:37 Type testdata/Builtins.lc 38:41-38:44 Nat -> Type -> Type testdata/Builtins.lc 38:41-38:46 Type -> Type testdata/Builtins.lc 38:41-38:52 Type testdata/Builtins.lc 38:41-38:69 Type testdata/Builtins.lc 38:45-38:46 _b testdata/Builtins.lc 38:47-38:52 Type testdata/Builtins.lc 38:56-38:59 Nat -> Nat -> Type -> Type testdata/Builtins.lc 38:56-38:61 Nat -> Type -> Type testdata/Builtins.lc 38:56-38:63 Type -> Type testdata/Builtins.lc 38:56-38:69 Type testdata/Builtins.lc 38:60-38:61 _b testdata/Builtins.lc 38:60-38:63 (a :: Type) -> Mat 4 3 a -> Type testdata/Builtins.lc 38:60-38:69 Mat 4 3 Float -> Type testdata/Builtins.lc 38:62-38:63 _b testdata/Builtins.lc 38:64-38:69 Type testdata/Builtins.lc 39:3-39:7 Mat 2 4 Float | Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Vec 2 Float -> Mat 2 4 Float testdata/Builtins.lc 39:3-39:84 Type testdata/Builtins.lc 39:11-39:14 Nat -> Type -> Type testdata/Builtins.lc 39:11-39:16 Type -> Type testdata/Builtins.lc 39:11-39:22 Type testdata/Builtins.lc 39:15-39:16 _b testdata/Builtins.lc 39:17-39:22 Type testdata/Builtins.lc 39:26-39:29 Nat -> Type -> Type testdata/Builtins.lc 39:26-39:31 Type -> Type testdata/Builtins.lc 39:26-39:37 Type testdata/Builtins.lc 39:26-39:84 Type testdata/Builtins.lc 39:30-39:31 _b testdata/Builtins.lc 39:32-39:37 Type testdata/Builtins.lc 39:41-39:44 Nat -> Type -> Type testdata/Builtins.lc 39:41-39:46 Type -> Type testdata/Builtins.lc 39:41-39:52 Type testdata/Builtins.lc 39:41-39:84 Type testdata/Builtins.lc 39:45-39:46 _b testdata/Builtins.lc 39:47-39:52 Type testdata/Builtins.lc 39:56-39:59 Nat -> Type -> Type testdata/Builtins.lc 39:56-39:61 Type -> Type testdata/Builtins.lc 39:56-39:67 Type testdata/Builtins.lc 39:56-39:84 Type testdata/Builtins.lc 39:60-39:61 _b testdata/Builtins.lc 39:62-39:67 Type testdata/Builtins.lc 39:71-39:74 Nat -> Nat -> Type -> Type testdata/Builtins.lc 39:71-39:76 Nat -> Type -> Type testdata/Builtins.lc 39:71-39:78 Type -> Type testdata/Builtins.lc 39:71-39:84 Type testdata/Builtins.lc 39:75-39:76 _b testdata/Builtins.lc 39:75-39:78 (a :: Type) -> Mat 2 4 a -> Type testdata/Builtins.lc 39:75-39:84 Mat 2 4 Float -> Type testdata/Builtins.lc 39:77-39:78 _b testdata/Builtins.lc 39:79-39:84 Type testdata/Builtins.lc 40:3-40:7 Mat 3 4 Float | Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 4 Float testdata/Builtins.lc 40:3-40:84 Type testdata/Builtins.lc 40:11-40:14 Nat -> Type -> Type testdata/Builtins.lc 40:11-40:16 Type -> Type testdata/Builtins.lc 40:11-40:22 Type testdata/Builtins.lc 40:15-40:16 _b testdata/Builtins.lc 40:17-40:22 Type testdata/Builtins.lc 40:26-40:29 Nat -> Type -> Type testdata/Builtins.lc 40:26-40:31 Type -> Type testdata/Builtins.lc 40:26-40:37 Type testdata/Builtins.lc 40:26-40:84 Type testdata/Builtins.lc 40:30-40:31 _b testdata/Builtins.lc 40:32-40:37 Type testdata/Builtins.lc 40:41-40:44 Nat -> Type -> Type testdata/Builtins.lc 40:41-40:46 Type -> Type testdata/Builtins.lc 40:41-40:52 Type testdata/Builtins.lc 40:41-40:84 Type testdata/Builtins.lc 40:45-40:46 _b testdata/Builtins.lc 40:47-40:52 Type testdata/Builtins.lc 40:56-40:59 Nat -> Type -> Type testdata/Builtins.lc 40:56-40:61 Type -> Type testdata/Builtins.lc 40:56-40:67 Type testdata/Builtins.lc 40:56-40:84 Type testdata/Builtins.lc 40:60-40:61 _b testdata/Builtins.lc 40:62-40:67 Type testdata/Builtins.lc 40:71-40:74 Nat -> Nat -> Type -> Type testdata/Builtins.lc 40:71-40:76 Nat -> Type -> Type testdata/Builtins.lc 40:71-40:78 Type -> Type testdata/Builtins.lc 40:71-40:84 Type testdata/Builtins.lc 40:75-40:76 _b testdata/Builtins.lc 40:75-40:78 (a :: Type) -> Mat 3 4 a -> Type testdata/Builtins.lc 40:75-40:84 Mat 3 4 Float -> Type testdata/Builtins.lc 40:77-40:78 _b testdata/Builtins.lc 40:79-40:84 Type testdata/Builtins.lc 41:3-41:7 Mat 4 4 Float | Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Builtins.lc 41:3-41:84 Type testdata/Builtins.lc 41:11-41:14 Nat -> Type -> Type testdata/Builtins.lc 41:11-41:16 Type -> Type testdata/Builtins.lc 41:11-41:22 Type testdata/Builtins.lc 41:15-41:16 _b testdata/Builtins.lc 41:17-41:22 Type testdata/Builtins.lc 41:26-41:29 Nat -> Type -> Type testdata/Builtins.lc 41:26-41:31 Type -> Type testdata/Builtins.lc 41:26-41:37 Type testdata/Builtins.lc 41:26-41:84 Type testdata/Builtins.lc 41:30-41:31 _b testdata/Builtins.lc 41:32-41:37 Type testdata/Builtins.lc 41:41-41:44 Nat -> Type -> Type testdata/Builtins.lc 41:41-41:46 Type -> Type testdata/Builtins.lc 41:41-41:52 Type testdata/Builtins.lc 41:41-41:84 Type testdata/Builtins.lc 41:45-41:46 _b testdata/Builtins.lc 41:47-41:52 Type testdata/Builtins.lc 41:56-41:59 Nat -> Type -> Type testdata/Builtins.lc 41:56-41:61 Type -> Type testdata/Builtins.lc 41:56-41:67 Type testdata/Builtins.lc 41:56-41:84 Type testdata/Builtins.lc 41:60-41:61 _b testdata/Builtins.lc 41:62-41:67 Type testdata/Builtins.lc 41:71-41:74 Nat -> Nat -> Type -> Type testdata/Builtins.lc 41:71-41:76 Nat -> Type -> Type testdata/Builtins.lc 41:71-41:78 Type -> Type testdata/Builtins.lc 41:71-41:84 Type testdata/Builtins.lc 41:75-41:76 _b testdata/Builtins.lc 41:75-41:78 (a :: Type) -> Mat 4 4 a -> Type testdata/Builtins.lc 41:75-41:84 Mat 4 4 Float -> Type testdata/Builtins.lc 41:77-41:78 _b testdata/Builtins.lc 41:79-41:84 Type testdata/Builtins.lc 44:5-44:21 Type -> Type testdata/Builtins.lc 44:30-44:35 Type testdata/Builtins.lc 44:30-48:37 Type | Type -> Type testdata/Builtins.lc 45:29-45:33 Type testdata/Builtins.lc 45:29-48:37 Type testdata/Builtins.lc 46:28-46:31 Type testdata/Builtins.lc 46:28-48:37 Type testdata/Builtins.lc 47:35-47:36 Nat -> Type | Type | Type -> Nat -> Type testdata/Builtins.lc 47:35-48:37 Type testdata/Builtins.lc 48:36-48:37 Nat -> Nat -> Type -> Type | Nat -> Type -> Type | Type | Type -> Type testdata/Builtins.lc 52:7-52:13 Type -> Type testdata/Builtins.lc 57:7-57:16 Type -> Type testdata/Builtins.lc 57:7-58:12 Type testdata/Builtins.lc 57:7-59:11 Type testdata/Builtins.lc 58:3-58:7 forall a . Component a => a testdata/Builtins.lc 58:11-58:12 Type testdata/Builtins.lc 59:3-59:6 forall a . Component a => a testdata/Builtins.lc 59:10-59:11 Type testdata/Builtins.lc 62:10-62:11 _b testdata/Builtins.lc 62:10-89:36 Component _a => _a | _b | forall a . Component a => a testdata/Builtins.lc 62:15-62:18 Type testdata/Builtins.lc 63:9-63:10 _b testdata/Builtins.lc 63:9-90:31 Component _a => _a | _b | forall a . Component a => a testdata/Builtins.lc 63:14-63:17 Type testdata/Builtins.lc 65:10-65:11 _b testdata/Builtins.lc 65:10-89:36 _b testdata/Builtins.lc 65:15-65:19 Type testdata/Builtins.lc 66:9-66:10 _b testdata/Builtins.lc 66:9-90:31 _b testdata/Builtins.lc 66:14-66:18 Type testdata/Builtins.lc 68:10-68:13 Float testdata/Builtins.lc 68:10-89:36 _b testdata/Builtins.lc 69:9-69:12 Float testdata/Builtins.lc 69:9-90:31 _b testdata/Builtins.lc 71:10-71:12 forall a . a -> a -> VecS a 2 testdata/Builtins.lc 71:10-71:16 Float -> VecS Float 2 testdata/Builtins.lc 71:10-71:20 VecS Float 2 testdata/Builtins.lc 71:10-77:28 (a :: Nat) -> VecS Float ('Succ ('Succ a)) | (a :: Nat) -> VecS Float ('Succ a) testdata/Builtins.lc 71:10-89:36 (a :: Nat) -> VecS _a a | (a :: Type) -> (b :: Nat) -> VecS a b | VecS _b _a testdata/Builtins.lc 71:13-71:16 Float testdata/Builtins.lc 71:17-71:20 Float testdata/Builtins.lc 72:9-72:11 forall a . a -> a -> VecS a 2 testdata/Builtins.lc 72:9-72:15 Float -> VecS Float 2 testdata/Builtins.lc 72:9-72:19 VecS Float 2 testdata/Builtins.lc 72:9-78:27 (a :: Nat) -> VecS Float ('Succ ('Succ a)) | (a :: Nat) -> VecS Float ('Succ a) testdata/Builtins.lc 72:9-90:31 (a :: Nat) -> VecS _a a | (a :: Type) -> (b :: Nat) -> VecS a b | VecS _b _a testdata/Builtins.lc 72:12-72:15 Float testdata/Builtins.lc 72:16-72:19 Float testdata/Builtins.lc 74:10-74:12 forall a . a -> a -> a -> VecS a 3 testdata/Builtins.lc 74:10-74:16 Float -> Float -> VecS Float 3 testdata/Builtins.lc 74:10-74:20 Float -> VecS Float 3 testdata/Builtins.lc 74:10-74:24 VecS Float 3 testdata/Builtins.lc 74:10-77:28 (a :: Nat) -> VecS Float ('Succ ('Succ ('Succ a))) testdata/Builtins.lc 74:13-74:16 Float testdata/Builtins.lc 74:17-74:20 Float testdata/Builtins.lc 74:21-74:24 Float testdata/Builtins.lc 75:9-75:11 forall a . a -> a -> a -> VecS a 3 testdata/Builtins.lc 75:9-75:15 Float -> Float -> VecS Float 3 testdata/Builtins.lc 75:9-75:19 Float -> VecS Float 3 testdata/Builtins.lc 75:9-75:23 VecS Float 3 testdata/Builtins.lc 75:9-78:27 (a :: Nat) -> VecS Float ('Succ ('Succ ('Succ a))) testdata/Builtins.lc 75:12-75:15 Float testdata/Builtins.lc 75:16-75:19 Float testdata/Builtins.lc 75:20-75:23 Float testdata/Builtins.lc 77:10-77:12 forall a . a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 77:10-77:16 Float -> Float -> Float -> VecS Float 4 testdata/Builtins.lc 77:10-77:20 Float -> Float -> VecS Float 4 testdata/Builtins.lc 77:10-77:24 Float -> VecS Float 4 testdata/Builtins.lc 77:10-77:28 (a :: Nat) -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) | VecS Float 4 testdata/Builtins.lc 77:13-77:16 Float testdata/Builtins.lc 77:17-77:20 Float testdata/Builtins.lc 77:21-77:24 Float testdata/Builtins.lc 77:25-77:28 Float testdata/Builtins.lc 78:9-78:11 forall a . a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 78:9-78:15 Float -> Float -> Float -> VecS Float 4 testdata/Builtins.lc 78:9-78:19 Float -> Float -> VecS Float 4 testdata/Builtins.lc 78:9-78:23 Float -> VecS Float 4 testdata/Builtins.lc 78:9-78:27 (a :: Nat) -> VecS Float ('Succ ('Succ ('Succ ('Succ a)))) | VecS Float 4 testdata/Builtins.lc 78:12-78:15 Float testdata/Builtins.lc 78:16-78:19 Float testdata/Builtins.lc 78:20-78:23 Float testdata/Builtins.lc 78:24-78:27 Float testdata/Builtins.lc 80:10-80:15 Bool testdata/Builtins.lc 81:9-81:13 Bool testdata/Builtins.lc 83:10-83:12 forall a . a -> a -> VecS a 2 testdata/Builtins.lc 83:10-83:18 Bool -> VecS Bool 2 testdata/Builtins.lc 83:10-83:24 VecS Bool 2 testdata/Builtins.lc 83:10-89:36 (a :: Nat) -> VecS Bool ('Succ ('Succ a)) | (a :: Nat) -> VecS Bool ('Succ a) testdata/Builtins.lc 83:13-83:18 Bool testdata/Builtins.lc 83:19-83:24 Bool testdata/Builtins.lc 84:9-84:11 forall a . a -> a -> VecS a 2 testdata/Builtins.lc 84:9-84:16 Bool -> VecS Bool 2 testdata/Builtins.lc 84:9-84:21 VecS Bool 2 testdata/Builtins.lc 84:9-90:31 (a :: Nat) -> VecS Bool ('Succ ('Succ a)) | (a :: Nat) -> VecS Bool ('Succ a) testdata/Builtins.lc 84:12-84:16 Bool testdata/Builtins.lc 84:17-84:21 Bool testdata/Builtins.lc 86:10-86:12 forall a . a -> a -> a -> VecS a 3 testdata/Builtins.lc 86:10-86:18 Bool -> Bool -> VecS Bool 3 testdata/Builtins.lc 86:10-86:24 Bool -> VecS Bool 3 testdata/Builtins.lc 86:10-86:30 VecS Bool 3 testdata/Builtins.lc 86:10-89:36 (a :: Nat) -> VecS Bool ('Succ ('Succ ('Succ a))) testdata/Builtins.lc 86:13-86:18 Bool testdata/Builtins.lc 86:19-86:24 Bool testdata/Builtins.lc 86:25-86:30 Bool testdata/Builtins.lc 87:9-87:11 forall a . a -> a -> a -> VecS a 3 testdata/Builtins.lc 87:9-87:16 Bool -> Bool -> VecS Bool 3 testdata/Builtins.lc 87:9-87:21 Bool -> VecS Bool 3 testdata/Builtins.lc 87:9-87:26 VecS Bool 3 testdata/Builtins.lc 87:9-90:31 (a :: Nat) -> VecS Bool ('Succ ('Succ ('Succ a))) testdata/Builtins.lc 87:12-87:16 Bool testdata/Builtins.lc 87:17-87:21 Bool testdata/Builtins.lc 87:22-87:26 Bool testdata/Builtins.lc 89:10-89:12 forall a . a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 89:10-89:18 Bool -> Bool -> Bool -> VecS Bool 4 testdata/Builtins.lc 89:10-89:24 Bool -> Bool -> VecS Bool 4 testdata/Builtins.lc 89:10-89:30 Bool -> VecS Bool 4 testdata/Builtins.lc 89:10-89:36 (a :: Nat) -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) | VecS Bool 4 testdata/Builtins.lc 89:13-89:18 Bool testdata/Builtins.lc 89:19-89:24 Bool testdata/Builtins.lc 89:25-89:30 Bool testdata/Builtins.lc 89:31-89:36 Bool testdata/Builtins.lc 90:9-90:11 forall a . a -> a -> a -> a -> VecS a 4 testdata/Builtins.lc 90:9-90:16 Bool -> Bool -> Bool -> VecS Bool 4 testdata/Builtins.lc 90:9-90:21 Bool -> Bool -> VecS Bool 4 testdata/Builtins.lc 90:9-90:26 Bool -> VecS Bool 4 testdata/Builtins.lc 90:9-90:31 (a :: Nat) -> VecS Bool ('Succ ('Succ ('Succ ('Succ a)))) | VecS Bool 4 testdata/Builtins.lc 90:12-90:16 Bool testdata/Builtins.lc 90:17-90:21 Bool testdata/Builtins.lc 90:22-90:26 Bool testdata/Builtins.lc 90:27-90:31 Bool testdata/Builtins.lc 92:7-92:15 Type -> Type testdata/Builtins.lc 97:7-97:15 Type -> Type testdata/Builtins.lc 118:1-118:8 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Builtins.lc 118:10-118:17 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Builtins.lc 118:19-118:26 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Builtins.lc 118:34-118:37 Type -> Type testdata/Builtins.lc 118:34-118:58 Type testdata/Builtins.lc 118:34-118:73 Type testdata/Builtins.lc 118:39-118:55 Type -> Type testdata/Builtins.lc 118:39-118:57 Type testdata/Builtins.lc 118:56-118:57 _b testdata/Builtins.lc 118:62-118:63 Type testdata/Builtins.lc 118:62-118:73 Type testdata/Builtins.lc 118:67-118:68 Type testdata/Builtins.lc 118:67-118:73 Type testdata/Builtins.lc 118:72-118:73 Type testdata/Builtins.lc 119:1-119:9 forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b testdata/Builtins.lc 119:11-119:19 forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b testdata/Builtins.lc 119:21-119:29 forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b testdata/Builtins.lc 119:34-119:80 Type testdata/Builtins.lc 119:35-119:36 _e testdata/Builtins.lc 119:35-119:38 _d -> Type testdata/Builtins.lc 119:35-119:57 Type testdata/Builtins.lc 119:37-119:38 forall a . a -> a -> Type testdata/Builtins.lc 119:39-119:55 Type -> Type testdata/Builtins.lc 119:39-119:57 Type testdata/Builtins.lc 119:56-119:57 _b testdata/Builtins.lc 119:59-119:62 Type -> Type testdata/Builtins.lc 119:59-119:64 Type testdata/Builtins.lc 119:59-119:80 Type testdata/Builtins.lc 119:63-119:64 Type testdata/Builtins.lc 119:69-119:70 Type testdata/Builtins.lc 119:69-119:80 Type testdata/Builtins.lc 119:74-119:75 Type testdata/Builtins.lc 119:74-119:80 Type testdata/Builtins.lc 119:79-119:80 Type testdata/Builtins.lc 120:1-120:8 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Builtins.lc 120:10-120:17 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Builtins.lc 120:34-120:75 Type testdata/Builtins.lc 120:35-120:38 Type -> Type testdata/Builtins.lc 120:35-120:40 Type testdata/Builtins.lc 120:39-120:40 _f testdata/Builtins.lc 120:42-120:43 _f testdata/Builtins.lc 120:42-120:45 _e -> Type testdata/Builtins.lc 120:42-120:59 Type testdata/Builtins.lc 120:42-120:75 Type testdata/Builtins.lc 120:44-120:45 forall a . a -> a -> Type testdata/Builtins.lc 120:46-120:55 Nat -> Type -> Type testdata/Builtins.lc 120:46-120:57 Type -> Type testdata/Builtins.lc 120:46-120:59 Type testdata/Builtins.lc 120:56-120:57 _c testdata/Builtins.lc 120:58-120:59 Type testdata/Builtins.lc 120:64-120:65 Type testdata/Builtins.lc 120:64-120:75 Type testdata/Builtins.lc 120:69-120:70 Type testdata/Builtins.lc 120:69-120:75 Type testdata/Builtins.lc 120:74-120:75 Type testdata/Builtins.lc 121:1-121:9 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b testdata/Builtins.lc 121:11-121:19 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b testdata/Builtins.lc 121:34-121:75 Type testdata/Builtins.lc 121:35-121:38 Type -> Type testdata/Builtins.lc 121:35-121:40 Type testdata/Builtins.lc 121:39-121:40 _f testdata/Builtins.lc 121:42-121:43 _f testdata/Builtins.lc 121:42-121:45 _e -> Type testdata/Builtins.lc 121:42-121:59 Type testdata/Builtins.lc 121:42-121:75 Type testdata/Builtins.lc 121:44-121:45 forall a . a -> a -> Type testdata/Builtins.lc 121:46-121:55 Nat -> Type -> Type testdata/Builtins.lc 121:46-121:57 Type -> Type testdata/Builtins.lc 121:46-121:59 Type testdata/Builtins.lc 121:56-121:57 _c testdata/Builtins.lc 121:58-121:59 Type testdata/Builtins.lc 121:64-121:65 Type testdata/Builtins.lc 121:64-121:75 Type testdata/Builtins.lc 121:69-121:70 Type testdata/Builtins.lc 121:69-121:75 Type testdata/Builtins.lc 121:74-121:75 Type testdata/Builtins.lc 122:1-122:8 forall a . Signed (MatVecScalarElem a) => a -> a testdata/Builtins.lc 122:34-122:40 Type -> Type testdata/Builtins.lc 122:34-122:61 Type testdata/Builtins.lc 122:34-122:71 Type testdata/Builtins.lc 122:42-122:58 Type -> Type testdata/Builtins.lc 122:42-122:60 Type testdata/Builtins.lc 122:59-122:60 _b testdata/Builtins.lc 122:65-122:66 Type testdata/Builtins.lc 122:65-122:71 Type testdata/Builtins.lc 122:70-122:71 Type testdata/Builtins.lc 124:1-124:9 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Builtins.lc 124:11-124:18 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Builtins.lc 124:20-124:28 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Builtins.lc 124:34-124:80 Type testdata/Builtins.lc 124:35-124:43 Type -> Type testdata/Builtins.lc 124:35-124:45 Type testdata/Builtins.lc 124:44-124:45 _f testdata/Builtins.lc 124:47-124:48 _f testdata/Builtins.lc 124:47-124:50 _e -> Type testdata/Builtins.lc 124:47-124:64 Type testdata/Builtins.lc 124:47-124:80 Type testdata/Builtins.lc 124:49-124:50 forall a . a -> a -> Type testdata/Builtins.lc 124:51-124:60 Nat -> Type -> Type testdata/Builtins.lc 124:51-124:62 Type -> Type testdata/Builtins.lc 124:51-124:64 Type testdata/Builtins.lc 124:61-124:62 _c testdata/Builtins.lc 124:63-124:64 Type testdata/Builtins.lc 124:69-124:70 Type testdata/Builtins.lc 124:69-124:80 Type testdata/Builtins.lc 124:74-124:75 Type testdata/Builtins.lc 124:74-124:80 Type testdata/Builtins.lc 124:79-124:80 Type testdata/Builtins.lc 125:1-125:10 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Builtins.lc 125:12-125:20 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Builtins.lc 125:22-125:31 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Builtins.lc 125:34-125:80 Type testdata/Builtins.lc 125:35-125:43 Type -> Type testdata/Builtins.lc 125:35-125:45 Type testdata/Builtins.lc 125:44-125:45 _f testdata/Builtins.lc 125:47-125:48 _f testdata/Builtins.lc 125:47-125:50 _e -> Type testdata/Builtins.lc 125:47-125:64 Type testdata/Builtins.lc 125:47-125:80 Type testdata/Builtins.lc 125:49-125:50 forall a . a -> a -> Type testdata/Builtins.lc 125:51-125:60 Nat -> Type -> Type testdata/Builtins.lc 125:51-125:62 Type -> Type testdata/Builtins.lc 125:51-125:64 Type testdata/Builtins.lc 125:61-125:62 _c testdata/Builtins.lc 125:63-125:64 Type testdata/Builtins.lc 125:69-125:70 Type testdata/Builtins.lc 125:69-125:80 Type testdata/Builtins.lc 125:74-125:75 Type testdata/Builtins.lc 125:74-125:80 Type testdata/Builtins.lc 125:79-125:80 Type testdata/Builtins.lc 126:1-126:9 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b testdata/Builtins.lc 126:34-126:75 Type testdata/Builtins.lc 126:35-126:43 Type -> Type testdata/Builtins.lc 126:35-126:45 Type testdata/Builtins.lc 126:44-126:45 _f testdata/Builtins.lc 126:47-126:48 _f testdata/Builtins.lc 126:47-126:50 _e -> Type testdata/Builtins.lc 126:47-126:64 Type testdata/Builtins.lc 126:47-126:75 Type testdata/Builtins.lc 126:49-126:50 forall a . a -> a -> Type testdata/Builtins.lc 126:51-126:60 Nat -> Type -> Type testdata/Builtins.lc 126:51-126:62 Type -> Type testdata/Builtins.lc 126:51-126:64 Type testdata/Builtins.lc 126:61-126:62 _c testdata/Builtins.lc 126:63-126:64 Type testdata/Builtins.lc 126:69-126:70 Type testdata/Builtins.lc 126:69-126:75 Type testdata/Builtins.lc 126:74-126:75 Type testdata/Builtins.lc 127:1-127:12 forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b testdata/Builtins.lc 127:14-127:25 forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b testdata/Builtins.lc 127:34-127:102 Type testdata/Builtins.lc 127:35-127:43 Type -> Type testdata/Builtins.lc 127:35-127:45 Type testdata/Builtins.lc 127:44-127:45 _h testdata/Builtins.lc 127:47-127:48 _h testdata/Builtins.lc 127:47-127:50 _g -> Type testdata/Builtins.lc 127:47-127:64 Type testdata/Builtins.lc 127:47-127:102 Type testdata/Builtins.lc 127:49-127:50 forall a . a -> a -> Type testdata/Builtins.lc 127:51-127:60 Nat -> Type -> Type testdata/Builtins.lc 127:51-127:62 Type -> Type testdata/Builtins.lc 127:51-127:64 Type testdata/Builtins.lc 127:61-127:62 _e testdata/Builtins.lc 127:63-127:64 Type testdata/Builtins.lc 127:66-127:67 _e testdata/Builtins.lc 127:66-127:69 _d -> Type testdata/Builtins.lc 127:66-127:86 Type testdata/Builtins.lc 127:66-127:102 Type testdata/Builtins.lc 127:68-127:69 forall a . a -> a -> Type testdata/Builtins.lc 127:70-127:79 Nat -> Type -> Type testdata/Builtins.lc 127:70-127:81 Type -> Type testdata/Builtins.lc 127:70-127:86 Type testdata/Builtins.lc 127:80-127:81 Nat testdata/Builtins.lc 127:82-127:86 Type testdata/Builtins.lc 127:91-127:92 Type testdata/Builtins.lc 127:91-127:102 Type testdata/Builtins.lc 127:96-127:97 Type testdata/Builtins.lc 127:96-127:102 Type testdata/Builtins.lc 127:101-127:102 Type testdata/Builtins.lc 128:1-128:13 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b testdata/Builtins.lc 128:15-128:27 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b testdata/Builtins.lc 128:34-128:83 Type testdata/Builtins.lc 128:35-128:43 Type -> Type testdata/Builtins.lc 128:35-128:45 Type testdata/Builtins.lc 128:44-128:45 _f testdata/Builtins.lc 128:47-128:48 _f testdata/Builtins.lc 128:47-128:50 _e -> Type testdata/Builtins.lc 128:47-128:64 Type testdata/Builtins.lc 128:47-128:83 Type testdata/Builtins.lc 128:49-128:50 forall a . a -> a -> Type testdata/Builtins.lc 128:51-128:60 Nat -> Type -> Type testdata/Builtins.lc 128:51-128:62 Type -> Type testdata/Builtins.lc 128:51-128:64 Type testdata/Builtins.lc 128:61-128:62 _c testdata/Builtins.lc 128:63-128:64 Type testdata/Builtins.lc 128:69-128:70 Type testdata/Builtins.lc 128:69-128:83 Type testdata/Builtins.lc 128:74-128:78 Type testdata/Builtins.lc 128:74-128:83 Type testdata/Builtins.lc 128:82-128:83 Type testdata/Builtins.lc 130:1-130:8 Bool -> Bool -> Bool testdata/Builtins.lc 130:10-130:16 Bool -> Bool -> Bool testdata/Builtins.lc 130:18-130:25 Bool -> Bool -> Bool testdata/Builtins.lc 130:34-130:38 Type testdata/Builtins.lc 130:42-130:46 Type testdata/Builtins.lc 130:42-130:54 Type testdata/Builtins.lc 130:50-130:54 Type testdata/Builtins.lc 131:1-131:8 forall a (b :: Nat) . (a ~ VecScalar b Bool) => a -> a testdata/Builtins.lc 131:47-131:79 Type testdata/Builtins.lc 131:48-131:49 _e testdata/Builtins.lc 131:48-131:51 _d -> Type testdata/Builtins.lc 131:48-131:68 Type testdata/Builtins.lc 131:50-131:51 forall a . a -> a -> Type testdata/Builtins.lc 131:52-131:61 Nat -> Type -> Type testdata/Builtins.lc 131:52-131:63 Type -> Type testdata/Builtins.lc 131:52-131:68 Type testdata/Builtins.lc 131:62-131:63 _b testdata/Builtins.lc 131:64-131:68 Type testdata/Builtins.lc 131:73-131:74 Type testdata/Builtins.lc 131:73-131:79 Type testdata/Builtins.lc 131:78-131:79 Type testdata/Builtins.lc 132:1-132:8 forall (a :: Nat) . VecScalar a Bool -> Bool testdata/Builtins.lc 132:10-132:17 forall (a :: Nat) . VecScalar a Bool -> Bool testdata/Builtins.lc 132:34-132:43 Nat -> Type -> Type testdata/Builtins.lc 132:34-132:45 Type -> Type testdata/Builtins.lc 132:34-132:50 Type testdata/Builtins.lc 132:34-132:58 Type testdata/Builtins.lc 132:44-132:45 _b testdata/Builtins.lc 132:46-132:50 Type testdata/Builtins.lc 132:54-132:58 Type testdata/Builtins.lc 135:1-135:9 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:11-135:20 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:22-135:30 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:32-135:41 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:43-135:51 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:53-135:62 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:64-135:71 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:73-135:81 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:83-135:94 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:96-135:107 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:109-135:116 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:118-135:126 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:128-135:135 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:137-135:145 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:147-135:154 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:156-135:163 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:165-135:173 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:175-135:183 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:185-135:193 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 135:195-135:206 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 136:34-136:67 Type testdata/Builtins.lc 136:35-136:36 _e testdata/Builtins.lc 136:35-136:38 _d -> Type testdata/Builtins.lc 136:35-136:56 Type testdata/Builtins.lc 136:37-136:38 forall a . a -> a -> Type testdata/Builtins.lc 136:39-136:48 Nat -> Type -> Type testdata/Builtins.lc 136:39-136:50 Type -> Type testdata/Builtins.lc 136:39-136:56 Type testdata/Builtins.lc 136:49-136:50 _b testdata/Builtins.lc 136:51-136:56 Type testdata/Builtins.lc 136:61-136:62 Type testdata/Builtins.lc 136:61-136:67 Type testdata/Builtins.lc 136:66-136:67 Type testdata/Builtins.lc 137:1-137:8 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Builtins.lc 137:10-137:19 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Builtins.lc 137:34-137:72 Type testdata/Builtins.lc 137:35-137:36 _e testdata/Builtins.lc 137:35-137:38 _d -> Type testdata/Builtins.lc 137:35-137:56 Type testdata/Builtins.lc 137:37-137:38 forall a . a -> a -> Type testdata/Builtins.lc 137:39-137:48 Nat -> Type -> Type testdata/Builtins.lc 137:39-137:50 Type -> Type testdata/Builtins.lc 137:39-137:56 Type testdata/Builtins.lc 137:49-137:50 _b testdata/Builtins.lc 137:51-137:56 Type testdata/Builtins.lc 137:61-137:62 Type testdata/Builtins.lc 137:61-137:72 Type testdata/Builtins.lc 137:66-137:67 Type testdata/Builtins.lc 137:66-137:72 Type testdata/Builtins.lc 137:71-137:72 Type testdata/Builtins.lc 139:1-139:10 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 139:12-139:21 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 139:23-139:32 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 139:34-139:47 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 139:49-139:57 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 139:59-139:68 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 140:34-140:67 Type testdata/Builtins.lc 140:35-140:36 _e testdata/Builtins.lc 140:35-140:38 _d -> Type testdata/Builtins.lc 140:35-140:56 Type testdata/Builtins.lc 140:37-140:38 forall a . a -> a -> Type testdata/Builtins.lc 140:39-140:48 Nat -> Type -> Type testdata/Builtins.lc 140:39-140:50 Type -> Type testdata/Builtins.lc 140:39-140:56 Type testdata/Builtins.lc 140:49-140:50 _b testdata/Builtins.lc 140:51-140:56 Type testdata/Builtins.lc 140:61-140:62 Type testdata/Builtins.lc 140:61-140:67 Type testdata/Builtins.lc 140:66-140:67 Type testdata/Builtins.lc 141:1-141:8 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Builtins.lc 141:10-141:17 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Builtins.lc 141:34-141:75 Type testdata/Builtins.lc 141:35-141:38 Type -> Type testdata/Builtins.lc 141:35-141:40 Type testdata/Builtins.lc 141:39-141:40 _f testdata/Builtins.lc 141:42-141:43 _f testdata/Builtins.lc 141:42-141:45 _e -> Type testdata/Builtins.lc 141:42-141:59 Type testdata/Builtins.lc 141:42-141:75 Type testdata/Builtins.lc 141:44-141:45 forall a . a -> a -> Type testdata/Builtins.lc 141:46-141:55 Nat -> Type -> Type testdata/Builtins.lc 141:46-141:57 Type -> Type testdata/Builtins.lc 141:46-141:59 Type testdata/Builtins.lc 141:56-141:57 _c testdata/Builtins.lc 141:58-141:59 Type testdata/Builtins.lc 141:64-141:65 Type testdata/Builtins.lc 141:64-141:75 Type testdata/Builtins.lc 141:69-141:70 Type testdata/Builtins.lc 141:69-141:75 Type testdata/Builtins.lc 141:74-141:75 Type testdata/Builtins.lc 142:1-142:9 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b testdata/Builtins.lc 142:11-142:19 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b testdata/Builtins.lc 142:34-142:75 Type testdata/Builtins.lc 142:35-142:38 Type -> Type testdata/Builtins.lc 142:35-142:40 Type testdata/Builtins.lc 142:39-142:40 _f testdata/Builtins.lc 142:42-142:43 _f testdata/Builtins.lc 142:42-142:45 _e -> Type testdata/Builtins.lc 142:42-142:59 Type testdata/Builtins.lc 142:42-142:75 Type testdata/Builtins.lc 142:44-142:45 forall a . a -> a -> Type testdata/Builtins.lc 142:46-142:55 Nat -> Type -> Type testdata/Builtins.lc 142:46-142:57 Type -> Type testdata/Builtins.lc 142:46-142:59 Type testdata/Builtins.lc 142:56-142:57 _c testdata/Builtins.lc 142:58-142:59 Type testdata/Builtins.lc 142:64-142:65 Type testdata/Builtins.lc 142:64-142:75 Type testdata/Builtins.lc 142:69-142:70 Type testdata/Builtins.lc 142:69-142:75 Type testdata/Builtins.lc 142:74-142:75 Type testdata/Builtins.lc 143:1-143:10 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c testdata/Builtins.lc 143:12-143:21 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c testdata/Builtins.lc 143:34-143:89 Type testdata/Builtins.lc 143:35-143:36 _g testdata/Builtins.lc 143:35-143:38 _f -> Type testdata/Builtins.lc 143:35-143:56 Type testdata/Builtins.lc 143:37-143:38 forall a . a -> a -> Type testdata/Builtins.lc 143:39-143:48 Nat -> Type -> Type testdata/Builtins.lc 143:39-143:50 Type -> Type testdata/Builtins.lc 143:39-143:56 Type testdata/Builtins.lc 143:49-143:50 _d testdata/Builtins.lc 143:51-143:56 Type testdata/Builtins.lc 143:58-143:59 _d testdata/Builtins.lc 143:58-143:61 _c -> Type testdata/Builtins.lc 143:58-143:78 Type testdata/Builtins.lc 143:58-143:89 Type testdata/Builtins.lc 143:60-143:61 forall a . a -> a -> Type testdata/Builtins.lc 143:62-143:71 Nat -> Type -> Type testdata/Builtins.lc 143:62-143:73 Type -> Type testdata/Builtins.lc 143:62-143:78 Type testdata/Builtins.lc 143:72-143:73 Nat testdata/Builtins.lc 143:74-143:78 Type testdata/Builtins.lc 143:83-143:84 Type testdata/Builtins.lc 143:83-143:89 Type testdata/Builtins.lc 143:88-143:89 Type testdata/Builtins.lc 144:1-144:8 forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b testdata/Builtins.lc 144:10-144:18 forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b testdata/Builtins.lc 144:34-144:73 Type testdata/Builtins.lc 144:35-144:41 Type -> Type testdata/Builtins.lc 144:35-144:43 Type testdata/Builtins.lc 144:42-144:43 _f testdata/Builtins.lc 144:45-144:46 _f testdata/Builtins.lc 144:45-144:48 _e -> Type testdata/Builtins.lc 144:45-144:62 Type testdata/Builtins.lc 144:45-144:73 Type testdata/Builtins.lc 144:47-144:48 forall a . a -> a -> Type testdata/Builtins.lc 144:49-144:58 Nat -> Type -> Type testdata/Builtins.lc 144:49-144:60 Type -> Type testdata/Builtins.lc 144:49-144:62 Type testdata/Builtins.lc 144:59-144:60 _c testdata/Builtins.lc 144:61-144:62 Type testdata/Builtins.lc 144:67-144:68 Type testdata/Builtins.lc 144:67-144:73 Type testdata/Builtins.lc 144:72-144:73 Type testdata/Builtins.lc 145:1-145:9 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> (a, a) testdata/Builtins.lc 145:34-145:72 Type testdata/Builtins.lc 145:35-145:36 _e testdata/Builtins.lc 145:35-145:38 _d -> Type testdata/Builtins.lc 145:35-145:56 Type testdata/Builtins.lc 145:37-145:38 forall a . a -> a -> Type testdata/Builtins.lc 145:39-145:48 Nat -> Type -> Type testdata/Builtins.lc 145:39-145:50 Type -> Type testdata/Builtins.lc 145:39-145:56 Type testdata/Builtins.lc 145:49-145:50 _b testdata/Builtins.lc 145:51-145:56 Type testdata/Builtins.lc 145:61-145:62 Type testdata/Builtins.lc 145:61-145:72 Type testdata/Builtins.lc 145:66-145:72 Type testdata/Builtins.lc 145:67-145:68 Type testdata/Builtins.lc 145:67-145:71 List Type testdata/Builtins.lc 145:70-145:71 List Type | Type testdata/Builtins.lc 146:1-146:10 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b testdata/Builtins.lc 146:34-146:80 Type testdata/Builtins.lc 146:35-146:38 Type -> Type testdata/Builtins.lc 146:35-146:40 Type testdata/Builtins.lc 146:39-146:40 _f testdata/Builtins.lc 146:42-146:43 _f testdata/Builtins.lc 146:42-146:45 _e -> Type testdata/Builtins.lc 146:42-146:59 Type testdata/Builtins.lc 146:42-146:80 Type testdata/Builtins.lc 146:44-146:45 forall a . a -> a -> Type testdata/Builtins.lc 146:46-146:55 Nat -> Type -> Type testdata/Builtins.lc 146:46-146:57 Type -> Type testdata/Builtins.lc 146:46-146:59 Type testdata/Builtins.lc 146:56-146:57 _c testdata/Builtins.lc 146:58-146:59 Type testdata/Builtins.lc 146:64-146:65 Type testdata/Builtins.lc 146:64-146:80 Type testdata/Builtins.lc 146:69-146:70 Type testdata/Builtins.lc 146:69-146:80 Type testdata/Builtins.lc 146:74-146:75 Type testdata/Builtins.lc 146:74-146:80 Type testdata/Builtins.lc 146:79-146:80 Type testdata/Builtins.lc 147:1-147:11 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> a -> b testdata/Builtins.lc 147:34-147:80 Type testdata/Builtins.lc 147:35-147:38 Type -> Type testdata/Builtins.lc 147:35-147:40 Type testdata/Builtins.lc 147:39-147:40 _f testdata/Builtins.lc 147:42-147:43 _f testdata/Builtins.lc 147:42-147:45 _e -> Type testdata/Builtins.lc 147:42-147:59 Type testdata/Builtins.lc 147:42-147:80 Type testdata/Builtins.lc 147:44-147:45 forall a . a -> a -> Type testdata/Builtins.lc 147:46-147:55 Nat -> Type -> Type testdata/Builtins.lc 147:46-147:57 Type -> Type testdata/Builtins.lc 147:46-147:59 Type testdata/Builtins.lc 147:56-147:57 _c testdata/Builtins.lc 147:58-147:59 Type testdata/Builtins.lc 147:64-147:65 Type testdata/Builtins.lc 147:64-147:80 Type testdata/Builtins.lc 147:69-147:70 Type testdata/Builtins.lc 147:69-147:80 Type testdata/Builtins.lc 147:74-147:75 Type testdata/Builtins.lc 147:74-147:80 Type testdata/Builtins.lc 147:79-147:80 Type testdata/Builtins.lc 148:1-148:8 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Builtins.lc 148:34-148:77 Type testdata/Builtins.lc 148:35-148:36 _e testdata/Builtins.lc 148:35-148:38 _d -> Type testdata/Builtins.lc 148:35-148:56 Type testdata/Builtins.lc 148:37-148:38 forall a . a -> a -> Type testdata/Builtins.lc 148:39-148:48 Nat -> Type -> Type testdata/Builtins.lc 148:39-148:50 Type -> Type testdata/Builtins.lc 148:39-148:56 Type testdata/Builtins.lc 148:49-148:50 _b testdata/Builtins.lc 148:51-148:56 Type testdata/Builtins.lc 148:61-148:62 Type testdata/Builtins.lc 148:61-148:77 Type testdata/Builtins.lc 148:66-148:67 Type testdata/Builtins.lc 148:66-148:77 Type testdata/Builtins.lc 148:71-148:72 Type testdata/Builtins.lc 148:71-148:77 Type testdata/Builtins.lc 148:76-148:77 Type testdata/Builtins.lc 149:1-149:9 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float -> a testdata/Builtins.lc 149:34-149:81 Type testdata/Builtins.lc 149:35-149:36 _e testdata/Builtins.lc 149:35-149:38 _d -> Type testdata/Builtins.lc 149:35-149:56 Type testdata/Builtins.lc 149:37-149:38 forall a . a -> a -> Type testdata/Builtins.lc 149:39-149:48 Nat -> Type -> Type testdata/Builtins.lc 149:39-149:50 Type -> Type testdata/Builtins.lc 149:39-149:56 Type testdata/Builtins.lc 149:49-149:50 _b testdata/Builtins.lc 149:51-149:56 Type testdata/Builtins.lc 149:61-149:62 Type testdata/Builtins.lc 149:61-149:81 Type testdata/Builtins.lc 149:66-149:67 Type testdata/Builtins.lc 149:66-149:81 Type testdata/Builtins.lc 149:71-149:76 Type testdata/Builtins.lc 149:71-149:81 Type testdata/Builtins.lc 149:80-149:81 Type testdata/Builtins.lc 150:1-150:9 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a testdata/Builtins.lc 150:34-150:99 Type testdata/Builtins.lc 150:35-150:36 _g testdata/Builtins.lc 150:35-150:38 _f -> Type testdata/Builtins.lc 150:35-150:56 Type testdata/Builtins.lc 150:37-150:38 forall a . a -> a -> Type testdata/Builtins.lc 150:39-150:48 Nat -> Type -> Type testdata/Builtins.lc 150:39-150:50 Type -> Type testdata/Builtins.lc 150:39-150:56 Type testdata/Builtins.lc 150:49-150:50 _d testdata/Builtins.lc 150:51-150:56 Type testdata/Builtins.lc 150:58-150:59 _d testdata/Builtins.lc 150:58-150:61 _c -> Type testdata/Builtins.lc 150:58-150:78 Type testdata/Builtins.lc 150:58-150:99 Type testdata/Builtins.lc 150:60-150:61 forall a . a -> a -> Type testdata/Builtins.lc 150:62-150:71 Nat -> Type -> Type testdata/Builtins.lc 150:62-150:73 Type -> Type testdata/Builtins.lc 150:62-150:78 Type testdata/Builtins.lc 150:72-150:73 Nat testdata/Builtins.lc 150:74-150:78 Type testdata/Builtins.lc 150:83-150:84 Type testdata/Builtins.lc 150:83-150:99 Type testdata/Builtins.lc 150:88-150:89 Type testdata/Builtins.lc 150:88-150:99 Type testdata/Builtins.lc 150:93-150:94 Type testdata/Builtins.lc 150:93-150:99 Type testdata/Builtins.lc 150:98-150:99 Type testdata/Builtins.lc 151:1-151:9 forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a testdata/Builtins.lc 151:34-151:66 Type testdata/Builtins.lc 151:35-151:36 _e testdata/Builtins.lc 151:35-151:38 _d -> Type testdata/Builtins.lc 151:35-151:50 Type testdata/Builtins.lc 151:37-151:38 forall a . a -> a -> Type testdata/Builtins.lc 151:39-151:42 Nat -> Type -> Type testdata/Builtins.lc 151:39-151:44 Type -> Type testdata/Builtins.lc 151:39-151:50 Type testdata/Builtins.lc 151:43-151:44 _b testdata/Builtins.lc 151:45-151:50 Type testdata/Builtins.lc 151:55-151:56 Type testdata/Builtins.lc 151:55-151:66 Type testdata/Builtins.lc 151:60-151:61 Type testdata/Builtins.lc 151:60-151:66 Type testdata/Builtins.lc 151:65-151:66 Type testdata/Builtins.lc 152:1-152:10 forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> a -> a testdata/Builtins.lc 152:34-152:76 Type testdata/Builtins.lc 152:35-152:36 _e testdata/Builtins.lc 152:35-152:38 _d -> Type testdata/Builtins.lc 152:35-152:56 Type testdata/Builtins.lc 152:37-152:38 forall a . a -> a -> Type testdata/Builtins.lc 152:39-152:48 Nat -> Type -> Type testdata/Builtins.lc 152:39-152:50 Type -> Type testdata/Builtins.lc 152:39-152:56 Type testdata/Builtins.lc 152:49-152:50 _b testdata/Builtins.lc 152:51-152:56 Type testdata/Builtins.lc 152:61-152:66 Type testdata/Builtins.lc 152:61-152:76 Type testdata/Builtins.lc 152:70-152:71 Type testdata/Builtins.lc 152:70-152:76 Type testdata/Builtins.lc 152:75-152:76 Type testdata/Builtins.lc 153:1-153:15 forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a -> a testdata/Builtins.lc 153:34-153:71 Type testdata/Builtins.lc 153:35-153:36 _e testdata/Builtins.lc 153:35-153:38 _d -> Type testdata/Builtins.lc 153:35-153:50 Type testdata/Builtins.lc 153:37-153:38 forall a . a -> a -> Type testdata/Builtins.lc 153:39-153:42 Nat -> Type -> Type testdata/Builtins.lc 153:39-153:44 Type -> Type testdata/Builtins.lc 153:39-153:50 Type testdata/Builtins.lc 153:43-153:44 _b testdata/Builtins.lc 153:45-153:50 Type testdata/Builtins.lc 153:55-153:56 Type testdata/Builtins.lc 153:55-153:71 Type testdata/Builtins.lc 153:60-153:61 Type testdata/Builtins.lc 153:60-153:71 Type testdata/Builtins.lc 153:65-153:66 Type testdata/Builtins.lc 153:65-153:71 Type testdata/Builtins.lc 153:70-153:71 Type testdata/Builtins.lc 154:1-154:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> Float -> a -> a testdata/Builtins.lc 154:34-154:85 Type testdata/Builtins.lc 154:35-154:36 _e testdata/Builtins.lc 154:35-154:38 _d -> Type testdata/Builtins.lc 154:35-154:56 Type testdata/Builtins.lc 154:37-154:38 forall a . a -> a -> Type testdata/Builtins.lc 154:39-154:48 Nat -> Type -> Type testdata/Builtins.lc 154:39-154:50 Type -> Type testdata/Builtins.lc 154:39-154:56 Type testdata/Builtins.lc 154:49-154:50 _b testdata/Builtins.lc 154:51-154:56 Type testdata/Builtins.lc 154:61-154:66 Type testdata/Builtins.lc 154:61-154:85 Type testdata/Builtins.lc 154:70-154:75 Type testdata/Builtins.lc 154:70-154:85 Type testdata/Builtins.lc 154:79-154:80 Type testdata/Builtins.lc 154:79-154:85 Type testdata/Builtins.lc 154:84-154:85 Type testdata/Builtins.lc 157:1-157:19 forall (a :: Nat) . VecScalar a Float -> VecScalar a Int testdata/Builtins.lc 157:34-157:43 Nat -> Type -> Type testdata/Builtins.lc 157:34-157:45 Type -> Type testdata/Builtins.lc 157:34-157:51 Type testdata/Builtins.lc 157:34-157:70 Type testdata/Builtins.lc 157:44-157:45 _b testdata/Builtins.lc 157:46-157:51 Type testdata/Builtins.lc 157:55-157:64 Nat -> Type -> Type testdata/Builtins.lc 157:55-157:66 Type -> Type testdata/Builtins.lc 157:55-157:70 Type testdata/Builtins.lc 157:65-157:66 Nat testdata/Builtins.lc 157:67-157:70 Type testdata/Builtins.lc 158:1-158:20 forall (a :: Nat) . VecScalar a Float -> VecScalar a Word testdata/Builtins.lc 158:34-158:43 Nat -> Type -> Type testdata/Builtins.lc 158:34-158:45 Type -> Type testdata/Builtins.lc 158:34-158:51 Type testdata/Builtins.lc 158:34-158:71 Type testdata/Builtins.lc 158:44-158:45 _b testdata/Builtins.lc 158:46-158:51 Type testdata/Builtins.lc 158:55-158:64 Nat -> Type -> Type testdata/Builtins.lc 158:55-158:66 Type -> Type testdata/Builtins.lc 158:55-158:71 Type testdata/Builtins.lc 158:65-158:66 Nat testdata/Builtins.lc 158:67-158:71 Type testdata/Builtins.lc 159:1-159:19 forall (a :: Nat) . VecScalar a Int -> VecScalar a Float testdata/Builtins.lc 159:34-159:43 Nat -> Type -> Type testdata/Builtins.lc 159:34-159:45 Type -> Type testdata/Builtins.lc 159:34-159:49 Type testdata/Builtins.lc 159:34-159:72 Type testdata/Builtins.lc 159:44-159:45 _b testdata/Builtins.lc 159:46-159:49 Type testdata/Builtins.lc 159:55-159:64 Nat -> Type -> Type testdata/Builtins.lc 159:55-159:66 Type -> Type testdata/Builtins.lc 159:55-159:72 Type testdata/Builtins.lc 159:65-159:66 Nat testdata/Builtins.lc 159:67-159:72 Type testdata/Builtins.lc 160:1-160:20 forall (a :: Nat) . VecScalar a Word -> VecScalar a Float testdata/Builtins.lc 160:34-160:43 Nat -> Type -> Type testdata/Builtins.lc 160:34-160:45 Type -> Type testdata/Builtins.lc 160:34-160:50 Type testdata/Builtins.lc 160:34-160:72 Type testdata/Builtins.lc 160:44-160:45 _b testdata/Builtins.lc 160:46-160:50 Type testdata/Builtins.lc 160:55-160:64 Nat -> Type -> Type testdata/Builtins.lc 160:55-160:66 Type -> Type testdata/Builtins.lc 160:55-160:72 Type testdata/Builtins.lc 160:65-160:66 Nat testdata/Builtins.lc 160:67-160:72 Type testdata/Builtins.lc 162:1-162:11 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> Float testdata/Builtins.lc 162:34-162:71 Type testdata/Builtins.lc 162:35-162:36 _e testdata/Builtins.lc 162:35-162:38 _d -> Type testdata/Builtins.lc 162:35-162:56 Type testdata/Builtins.lc 162:37-162:38 forall a . a -> a -> Type testdata/Builtins.lc 162:39-162:48 Nat -> Type -> Type testdata/Builtins.lc 162:39-162:50 Type -> Type testdata/Builtins.lc 162:39-162:56 Type testdata/Builtins.lc 162:49-162:50 _b testdata/Builtins.lc 162:51-162:56 Type testdata/Builtins.lc 162:61-162:62 Type testdata/Builtins.lc 162:61-162:71 Type testdata/Builtins.lc 162:66-162:71 Type testdata/Builtins.lc 163:1-163:13 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float testdata/Builtins.lc 163:15-163:22 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float testdata/Builtins.lc 163:34-163:76 Type testdata/Builtins.lc 163:35-163:36 _e testdata/Builtins.lc 163:35-163:38 _d -> Type testdata/Builtins.lc 163:35-163:56 Type testdata/Builtins.lc 163:37-163:38 forall a . a -> a -> Type testdata/Builtins.lc 163:39-163:48 Nat -> Type -> Type testdata/Builtins.lc 163:39-163:50 Type -> Type testdata/Builtins.lc 163:39-163:56 Type testdata/Builtins.lc 163:49-163:50 _b testdata/Builtins.lc 163:51-163:56 Type testdata/Builtins.lc 163:61-163:62 Type testdata/Builtins.lc 163:61-163:76 Type testdata/Builtins.lc 163:66-163:67 Type testdata/Builtins.lc 163:66-163:76 Type testdata/Builtins.lc 163:71-163:76 Type testdata/Builtins.lc 164:1-164:10 forall a . (a ~ VecS Float 3) => a -> a -> a testdata/Builtins.lc 164:34-164:72 Type testdata/Builtins.lc 164:35-164:36 _c testdata/Builtins.lc 164:35-164:38 _b -> Type testdata/Builtins.lc 164:35-164:56 Type testdata/Builtins.lc 164:37-164:38 forall a . a -> a -> Type testdata/Builtins.lc 164:39-164:48 Nat -> Type -> Type testdata/Builtins.lc 164:39-164:50 Type -> Type testdata/Builtins.lc 164:39-164:56 Type testdata/Builtins.lc 164:49-164:50 _b testdata/Builtins.lc 164:51-164:56 Type testdata/Builtins.lc 164:61-164:62 Type testdata/Builtins.lc 164:61-164:72 Type testdata/Builtins.lc 164:66-164:67 Type testdata/Builtins.lc 164:66-164:72 Type testdata/Builtins.lc 164:71-164:72 Type testdata/Builtins.lc 165:1-165:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 165:34-165:67 Type testdata/Builtins.lc 165:35-165:36 _e testdata/Builtins.lc 165:35-165:38 _d -> Type testdata/Builtins.lc 165:35-165:56 Type testdata/Builtins.lc 165:37-165:38 forall a . a -> a -> Type testdata/Builtins.lc 165:39-165:48 Nat -> Type -> Type testdata/Builtins.lc 165:39-165:50 Type -> Type testdata/Builtins.lc 165:39-165:56 Type testdata/Builtins.lc 165:49-165:50 _b testdata/Builtins.lc 165:51-165:56 Type testdata/Builtins.lc 165:61-165:62 Type testdata/Builtins.lc 165:61-165:67 Type testdata/Builtins.lc 165:66-165:67 Type testdata/Builtins.lc 166:1-166:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Builtins.lc 166:18-166:29 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Builtins.lc 166:34-166:77 Type testdata/Builtins.lc 166:35-166:36 _e testdata/Builtins.lc 166:35-166:38 _d -> Type testdata/Builtins.lc 166:35-166:56 Type testdata/Builtins.lc 166:37-166:38 forall a . a -> a -> Type testdata/Builtins.lc 166:39-166:48 Nat -> Type -> Type testdata/Builtins.lc 166:39-166:50 Type -> Type testdata/Builtins.lc 166:39-166:56 Type testdata/Builtins.lc 166:49-166:50 _b testdata/Builtins.lc 166:51-166:56 Type testdata/Builtins.lc 166:61-166:62 Type testdata/Builtins.lc 166:61-166:77 Type testdata/Builtins.lc 166:66-166:67 Type testdata/Builtins.lc 166:66-166:77 Type testdata/Builtins.lc 166:71-166:72 Type testdata/Builtins.lc 166:71-166:77 Type testdata/Builtins.lc 166:76-166:77 Type testdata/Builtins.lc 167:1-167:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Builtins.lc 167:34-167:72 Type testdata/Builtins.lc 167:35-167:36 _e testdata/Builtins.lc 167:35-167:38 _d -> Type testdata/Builtins.lc 167:35-167:56 Type testdata/Builtins.lc 167:37-167:38 forall a . a -> a -> Type testdata/Builtins.lc 167:39-167:48 Nat -> Type -> Type testdata/Builtins.lc 167:39-167:50 Type -> Type testdata/Builtins.lc 167:39-167:56 Type testdata/Builtins.lc 167:49-167:50 _b testdata/Builtins.lc 167:51-167:56 Type testdata/Builtins.lc 167:61-167:62 Type testdata/Builtins.lc 167:61-167:72 Type testdata/Builtins.lc 167:66-167:67 Type testdata/Builtins.lc 167:66-167:72 Type testdata/Builtins.lc 167:71-167:72 Type testdata/Builtins.lc 169:1-169:14 forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c testdata/Builtins.lc 169:34-169:37 Nat -> Nat -> Type -> Type testdata/Builtins.lc 169:34-169:39 Nat -> Type -> Type testdata/Builtins.lc 169:34-169:41 Type -> Type testdata/Builtins.lc 169:34-169:43 Type testdata/Builtins.lc 169:34-169:56 Type testdata/Builtins.lc 169:38-169:39 _f testdata/Builtins.lc 169:40-169:41 _d testdata/Builtins.lc 169:42-169:43 _b testdata/Builtins.lc 169:47-169:50 Nat -> Nat -> Type -> Type testdata/Builtins.lc 169:47-169:52 Nat -> Type -> Type testdata/Builtins.lc 169:47-169:54 Type -> Type testdata/Builtins.lc 169:47-169:56 Type testdata/Builtins.lc 169:51-169:52 Nat testdata/Builtins.lc 169:53-169:54 Nat testdata/Builtins.lc 169:55-169:56 Type testdata/Builtins.lc 170:1-170:16 forall (a :: Nat) b . Mat a a b -> Float testdata/Builtins.lc 170:34-170:37 Nat -> Nat -> Type -> Type testdata/Builtins.lc 170:34-170:39 Nat -> Type -> Type testdata/Builtins.lc 170:34-170:41 Type -> Type testdata/Builtins.lc 170:34-170:43 Type testdata/Builtins.lc 170:34-170:52 Type testdata/Builtins.lc 170:38-170:39 _d testdata/Builtins.lc 170:40-170:41 Nat testdata/Builtins.lc 170:42-170:43 _b testdata/Builtins.lc 170:47-170:52 Type testdata/Builtins.lc 171:1-171:12 forall (a :: Nat) b . Mat a a b -> Mat a a b testdata/Builtins.lc 171:34-171:37 Nat -> Nat -> Type -> Type testdata/Builtins.lc 171:34-171:39 Nat -> Type -> Type testdata/Builtins.lc 171:34-171:41 Type -> Type testdata/Builtins.lc 171:34-171:43 Type testdata/Builtins.lc 171:34-171:56 Type testdata/Builtins.lc 171:38-171:39 _d testdata/Builtins.lc 171:40-171:41 Nat testdata/Builtins.lc 171:42-171:43 _b testdata/Builtins.lc 171:47-171:50 Nat -> Nat -> Type -> Type testdata/Builtins.lc 171:47-171:52 Nat -> Type -> Type testdata/Builtins.lc 171:47-171:54 Type -> Type testdata/Builtins.lc 171:47-171:56 Type testdata/Builtins.lc 171:51-171:52 Nat testdata/Builtins.lc 171:53-171:54 Nat testdata/Builtins.lc 171:55-171:56 Type testdata/Builtins.lc 172:1-172:17 forall (a :: Nat) b (c :: Nat) . Vec a b -> Vec c b -> Mat c a b testdata/Builtins.lc 172:34-172:37 Nat -> Type -> Type testdata/Builtins.lc 172:34-172:39 Type -> Type testdata/Builtins.lc 172:34-172:41 Type testdata/Builtins.lc 172:34-172:69 Type testdata/Builtins.lc 172:38-172:39 _f testdata/Builtins.lc 172:40-172:41 _d testdata/Builtins.lc 172:47-172:50 Nat -> Type -> Type testdata/Builtins.lc 172:47-172:52 Type -> Type testdata/Builtins.lc 172:47-172:54 Type testdata/Builtins.lc 172:47-172:69 Type testdata/Builtins.lc 172:51-172:52 _c testdata/Builtins.lc 172:53-172:54 Type testdata/Builtins.lc 172:60-172:63 Nat -> Nat -> Type -> Type testdata/Builtins.lc 172:60-172:65 Nat -> Type -> Type testdata/Builtins.lc 172:60-172:67 Type -> Type testdata/Builtins.lc 172:60-172:69 Type testdata/Builtins.lc 172:64-172:65 Nat testdata/Builtins.lc 172:66-172:67 Nat testdata/Builtins.lc 172:68-172:69 Type testdata/Builtins.lc 173:1-173:14 forall (a :: Nat) (b :: Nat) c . Mat a b c -> Vec b c -> Vec a c testdata/Builtins.lc 173:34-173:37 Nat -> Nat -> Type -> Type testdata/Builtins.lc 173:34-173:39 Nat -> Type -> Type testdata/Builtins.lc 173:34-173:41 Type -> Type testdata/Builtins.lc 173:34-173:43 Type testdata/Builtins.lc 173:34-173:67 Type testdata/Builtins.lc 173:38-173:39 _f testdata/Builtins.lc 173:40-173:41 _d testdata/Builtins.lc 173:42-173:43 _b testdata/Builtins.lc 173:47-173:50 Nat -> Type -> Type testdata/Builtins.lc 173:47-173:52 Type -> Type testdata/Builtins.lc 173:47-173:54 Type testdata/Builtins.lc 173:47-173:67 Type testdata/Builtins.lc 173:51-173:52 Nat testdata/Builtins.lc 173:53-173:54 Type testdata/Builtins.lc 173:60-173:63 Nat -> Type -> Type testdata/Builtins.lc 173:60-173:65 Type -> Type testdata/Builtins.lc 173:60-173:67 Type testdata/Builtins.lc 173:64-173:65 Nat testdata/Builtins.lc 173:66-173:67 Type testdata/Builtins.lc 174:1-174:14 forall (a :: Nat) b (c :: Nat) . Vec a b -> Mat a c b -> Vec c b testdata/Builtins.lc 174:34-174:37 Nat -> Type -> Type testdata/Builtins.lc 174:34-174:39 Type -> Type testdata/Builtins.lc 174:34-174:41 Type testdata/Builtins.lc 174:34-174:67 Type testdata/Builtins.lc 174:38-174:39 _f testdata/Builtins.lc 174:40-174:41 _d testdata/Builtins.lc 174:47-174:50 Nat -> Nat -> Type -> Type testdata/Builtins.lc 174:47-174:52 Nat -> Type -> Type testdata/Builtins.lc 174:47-174:54 Type -> Type testdata/Builtins.lc 174:47-174:56 Type testdata/Builtins.lc 174:47-174:67 Type testdata/Builtins.lc 174:51-174:52 Nat testdata/Builtins.lc 174:53-174:54 _c testdata/Builtins.lc 174:55-174:56 Type testdata/Builtins.lc 174:60-174:63 Nat -> Type -> Type testdata/Builtins.lc 174:60-174:65 Type -> Type testdata/Builtins.lc 174:60-174:67 Type testdata/Builtins.lc 174:64-174:65 Nat testdata/Builtins.lc 174:66-174:67 Type testdata/Builtins.lc 175:1-175:14 forall (a :: Nat) (b :: Nat) c (d :: Nat) . Mat a b c -> Mat b d c -> Mat a d c testdata/Builtins.lc 175:34-175:37 Nat -> Nat -> Type -> Type testdata/Builtins.lc 175:34-175:39 Nat -> Type -> Type testdata/Builtins.lc 175:34-175:41 Type -> Type testdata/Builtins.lc 175:34-175:43 Type testdata/Builtins.lc 175:34-175:69 Type testdata/Builtins.lc 175:38-175:39 _h testdata/Builtins.lc 175:40-175:41 _f testdata/Builtins.lc 175:42-175:43 _d testdata/Builtins.lc 175:47-175:50 Nat -> Nat -> Type -> Type testdata/Builtins.lc 175:47-175:52 Nat -> Type -> Type testdata/Builtins.lc 175:47-175:54 Type -> Type testdata/Builtins.lc 175:47-175:56 Type testdata/Builtins.lc 175:47-175:69 Type testdata/Builtins.lc 175:51-175:52 Nat testdata/Builtins.lc 175:53-175:54 _c testdata/Builtins.lc 175:55-175:56 Type testdata/Builtins.lc 175:60-175:63 Nat -> Nat -> Type -> Type testdata/Builtins.lc 175:60-175:65 Nat -> Type -> Type testdata/Builtins.lc 175:60-175:67 Type -> Type testdata/Builtins.lc 175:60-175:69 Type testdata/Builtins.lc 175:64-175:65 Nat testdata/Builtins.lc 175:66-175:67 Nat testdata/Builtins.lc 175:68-175:69 Type testdata/Builtins.lc 177:1-177:13 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Builtins.lc 177:15-177:32 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Builtins.lc 177:34-177:49 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Builtins.lc 177:51-177:71 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Builtins.lc 177:73-177:83 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Builtins.lc 177:85-177:98 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Builtins.lc 178:51-178:114 Type testdata/Builtins.lc 178:52-178:55 Type -> Type testdata/Builtins.lc 178:52-178:57 Type testdata/Builtins.lc 178:56-178:57 _d testdata/Builtins.lc 178:59-178:60 _i testdata/Builtins.lc 178:59-178:62 _h -> Type testdata/Builtins.lc 178:59-178:76 Type testdata/Builtins.lc 178:59-178:114 Type testdata/Builtins.lc 178:61-178:62 forall a . a -> a -> Type testdata/Builtins.lc 178:63-178:72 Nat -> Type -> Type testdata/Builtins.lc 178:63-178:74 Type -> Type testdata/Builtins.lc 178:63-178:76 Type testdata/Builtins.lc 178:73-178:74 _f testdata/Builtins.lc 178:75-178:76 Type testdata/Builtins.lc 178:78-178:79 _e testdata/Builtins.lc 178:78-178:81 _d -> Type testdata/Builtins.lc 178:78-178:98 Type testdata/Builtins.lc 178:78-178:114 Type testdata/Builtins.lc 178:80-178:81 forall a . a -> a -> Type testdata/Builtins.lc 178:82-178:91 Nat -> Type -> Type testdata/Builtins.lc 178:82-178:93 Type -> Type testdata/Builtins.lc 178:82-178:98 Type testdata/Builtins.lc 178:92-178:93 Nat testdata/Builtins.lc 178:94-178:98 Type testdata/Builtins.lc 178:103-178:104 Type testdata/Builtins.lc 178:103-178:114 Type testdata/Builtins.lc 178:108-178:109 Type testdata/Builtins.lc 178:108-178:114 Type testdata/Builtins.lc 178:113-178:114 Type testdata/Builtins.lc 179:1-179:10 forall a b . (b ~ MatVecScalarElem a) => a -> a -> Bool testdata/Builtins.lc 179:12-179:24 forall a b . (b ~ MatVecScalarElem a) => a -> a -> Bool testdata/Builtins.lc 179:47-179:89 Type testdata/Builtins.lc 179:48-179:49 _c testdata/Builtins.lc 179:48-179:51 _b -> Type testdata/Builtins.lc 179:48-179:70 Type testdata/Builtins.lc 179:50-179:51 forall a . a -> a -> Type testdata/Builtins.lc 179:52-179:68 Type -> Type testdata/Builtins.lc 179:52-179:70 Type testdata/Builtins.lc 179:69-179:70 _c testdata/Builtins.lc 179:75-179:76 Type testdata/Builtins.lc 179:75-179:89 Type testdata/Builtins.lc 179:80-179:81 Type testdata/Builtins.lc 179:80-179:89 Type testdata/Builtins.lc 179:85-179:89 Type testdata/Builtins.lc 181:1-181:9 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 181:11-181:19 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 181:21-181:31 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Builtins.lc 182:34-182:67 Type testdata/Builtins.lc 182:35-182:36 _e testdata/Builtins.lc 182:35-182:38 _d -> Type testdata/Builtins.lc 182:35-182:56 Type testdata/Builtins.lc 182:37-182:38 forall a . a -> a -> Type testdata/Builtins.lc 182:39-182:48 Nat -> Type -> Type testdata/Builtins.lc 182:39-182:50 Type -> Type testdata/Builtins.lc 182:39-182:56 Type testdata/Builtins.lc 182:49-182:50 _b testdata/Builtins.lc 182:51-182:56 Type testdata/Builtins.lc 182:61-182:62 Type testdata/Builtins.lc 182:61-182:67 Type testdata/Builtins.lc 182:66-182:67 Type testdata/Builtins.lc 184:1-184:11 forall (a :: Nat) . VecScalar a Float -> Float testdata/Builtins.lc 184:34-184:43 Nat -> Type -> Type testdata/Builtins.lc 184:34-184:45 Type -> Type testdata/Builtins.lc 184:34-184:51 Type testdata/Builtins.lc 184:34-184:60 Type testdata/Builtins.lc 184:44-184:45 _b testdata/Builtins.lc 184:46-184:51 Type testdata/Builtins.lc 184:55-184:60 Type testdata/Builtins.lc 185:1-185:11 forall (a :: Nat) . VecScalar a Float -> Vec 2 Float testdata/Builtins.lc 185:34-185:43 Nat -> Type -> Type testdata/Builtins.lc 185:34-185:45 Type -> Type testdata/Builtins.lc 185:34-185:51 Type testdata/Builtins.lc 185:34-185:66 Type testdata/Builtins.lc 185:44-185:45 _b testdata/Builtins.lc 185:46-185:51 Type testdata/Builtins.lc 185:55-185:58 Nat -> Type -> Type testdata/Builtins.lc 185:55-185:60 Type -> Type testdata/Builtins.lc 185:55-185:66 Type testdata/Builtins.lc 185:59-185:60 _b testdata/Builtins.lc 185:61-185:66 Type testdata/Builtins.lc 186:1-186:11 forall (a :: Nat) . VecScalar a Float -> Vec 3 Float testdata/Builtins.lc 186:34-186:43 Nat -> Type -> Type testdata/Builtins.lc 186:34-186:45 Type -> Type testdata/Builtins.lc 186:34-186:51 Type testdata/Builtins.lc 186:34-186:66 Type testdata/Builtins.lc 186:44-186:45 _b testdata/Builtins.lc 186:46-186:51 Type testdata/Builtins.lc 186:55-186:58 Nat -> Type -> Type testdata/Builtins.lc 186:55-186:60 Type -> Type testdata/Builtins.lc 186:55-186:66 Type testdata/Builtins.lc 186:59-186:60 _b testdata/Builtins.lc 186:61-186:66 Type testdata/Builtins.lc 187:1-187:11 forall (a :: Nat) . VecScalar a Float -> Vec 4 Float testdata/Builtins.lc 187:34-187:43 Nat -> Type -> Type testdata/Builtins.lc 187:34-187:45 Type -> Type testdata/Builtins.lc 187:34-187:51 Type testdata/Builtins.lc 187:34-187:66 Type testdata/Builtins.lc 187:44-187:45 _b testdata/Builtins.lc 187:46-187:51 Type testdata/Builtins.lc 187:55-187:58 Nat -> Type -> Type testdata/Builtins.lc 187:55-187:60 Type -> Type testdata/Builtins.lc 187:55-187:66 Type testdata/Builtins.lc 187:59-187:60 _b testdata/Builtins.lc 187:61-187:66 Type testdata/Builtins.lc 201:1-201:5 forall a . List a -> a testdata/Builtins.lc 201:15-201:16 List _c -> _b | _b -> List _b -> _a | _d testdata/Builtins.lc 203:6-203:8 forall a . List a -> List a -> List a testdata/Builtins.lc 203:14-203:16 _d testdata/Builtins.lc 203:14-204:26 List _a -> List _a | _a -> _a testdata/Builtins.lc 204:14-204:15 _d testdata/Builtins.lc 204:14-204:17 List _c -> List _c testdata/Builtins.lc 204:14-204:26 List _b -> _d | List _c | _a -> List _a -> _c testdata/Builtins.lc 204:16-204:17 forall a . a -> List a -> List a testdata/Builtins.lc 204:18-204:20 List _f testdata/Builtins.lc 204:21-204:23 _h testdata/Builtins.lc 204:24-204:26 List _g testdata/Builtins.lc 206:1-206:6 forall a b . (b -> a -> a) -> a -> List b -> a testdata/Builtins.lc 206:16-206:17 _f testdata/Builtins.lc 206:16-207:39 List _b -> _f | _a -> _a testdata/Builtins.lc 207:21-207:22 _i testdata/Builtins.lc 207:21-207:39 List _b -> _f | _a -> List _a -> _e testdata/Builtins.lc 207:23-207:24 _f testdata/Builtins.lc 207:26-207:31 _n testdata/Builtins.lc 207:32-207:33 _j -> _g testdata/Builtins.lc 207:34-207:35 _o testdata/Builtins.lc 207:36-207:38 List _k testdata/Builtins.lc 209:1-209:7 forall a . List (List a) -> List a testdata/Builtins.lc 209:10-209:15 forall a b . (b -> a -> a) -> a -> List b -> a testdata/Builtins.lc 209:10-209:20 List _a -> List (List _a) -> List _a testdata/Builtins.lc 209:10-209:23 List (List _a) -> List _a testdata/Builtins.lc 209:16-209:20 forall a . List a -> List a -> List a testdata/Builtins.lc 209:21-209:23 forall a . List a testdata/Builtins.lc 211:1-211:4 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 211:16-211:18 forall a . List a testdata/Builtins.lc 211:16-212:30 List _b -> List _a | _a -> _a testdata/Builtins.lc 212:16-212:17 _i testdata/Builtins.lc 212:16-212:21 List _a -> List _a testdata/Builtins.lc 212:16-212:30 List _c | List _c -> List _b | _b -> List _b -> List _a testdata/Builtins.lc 212:18-212:19 _h testdata/Builtins.lc 212:20-212:21 forall a . a -> List a -> List a testdata/Builtins.lc 212:22-212:25 _i testdata/Builtins.lc 212:26-212:27 _g -> _f testdata/Builtins.lc 212:28-212:30 List _h testdata/Builtins.lc 214:14-214:38 Type testdata/Builtins.lc 214:15-214:16 _d testdata/Builtins.lc 214:20-214:23 Type testdata/Builtins.lc 214:21-214:22 _c testdata/Builtins.lc 214:28-214:31 Type testdata/Builtins.lc 214:28-214:38 Type testdata/Builtins.lc 214:29-214:30 Type testdata/Builtins.lc 214:35-214:38 Type testdata/Builtins.lc 214:36-214:37 Type testdata/Builtins.lc 215:1-215:10 forall a b . (a -> List b) -> List a -> List b testdata/Builtins.lc 215:17-215:23 forall a . List (List a) -> List a testdata/Builtins.lc 215:17-215:33 (_b -> List _a) -> List _b -> List _a | List _c | List _c -> List _b testdata/Builtins.lc 215:25-215:28 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 215:25-215:30 List _e -> List (List _d) testdata/Builtins.lc 215:25-215:32 List (List _c) testdata/Builtins.lc 215:29-215:30 _g -> List _f testdata/Builtins.lc 215:31-215:32 List _d testdata/Builtins.lc 217:1-217:4 forall a . List a -> Int testdata/Builtins.lc 217:10-217:11 _b testdata/Builtins.lc 217:10-218:35 List _b -> Int | _a -> _a testdata/Builtins.lc 218:14-218:15 _b testdata/Builtins.lc 218:14-218:28 Int -> Int testdata/Builtins.lc 218:14-218:35 Int | List _d -> _c | _c -> List _c -> _b testdata/Builtins.lc 218:16-218:28 Int -> Int -> Int testdata/Builtins.lc 218:29-218:32 _h testdata/Builtins.lc 218:33-218:35 List _g testdata/Builtins.lc 222:6-222:11 Type | Type -> Type testdata/Builtins.lc 222:6-222:13 Type testdata/Builtins.lc 222:6-224:11 Type testdata/Builtins.lc 222:6-224:13 Type testdata/Builtins.lc 222:12-222:13 Type testdata/Builtins.lc 223:7-223:14 Maybe _b | forall a . Maybe a testdata/Builtins.lc 224:7-224:11 Maybe _d | Type | forall a . a -> Maybe a testdata/Builtins.lc 224:12-224:13 Type testdata/Builtins.lc 227:6-227:12 Nat -> Type -> Type | Type testdata/Builtins.lc 227:19-227:22 Type testdata/Builtins.lc 231:6-231:19 Type testdata/Builtins.lc 231:6-236:20 Type testdata/Builtins.lc 232:7-232:15 PrimitiveType testdata/Builtins.lc 233:7-233:11 PrimitiveType testdata/Builtins.lc 234:7-234:12 PrimitiveType testdata/Builtins.lc 235:7-235:24 PrimitiveType testdata/Builtins.lc 236:7-236:20 PrimitiveType testdata/Builtins.lc 238:6-238:15 Type | Type -> PrimitiveType -> Type testdata/Builtins.lc 238:6-241:56 Type testdata/Builtins.lc 238:21-238:34 Type testdata/Builtins.lc 238:21-238:42 Type testdata/Builtins.lc 238:38-238:42 Type testdata/Builtins.lc 239:5-239:14 Primitive _c 'Point | forall a . a -> Primitive a 'Point testdata/Builtins.lc 239:5-239:53 Type testdata/Builtins.lc 239:21-239:22 Type testdata/Builtins.lc 239:21-239:53 Type testdata/Builtins.lc 239:36-239:45 Type -> PrimitiveType -> Type testdata/Builtins.lc 239:36-239:47 PrimitiveType -> Type testdata/Builtins.lc 239:36-239:53 Type testdata/Builtins.lc 239:46-239:47 Type testdata/Builtins.lc 239:48-239:53 PrimitiveType testdata/Builtins.lc 240:5-240:13 Primitive _e 'Line | forall a . a -> a -> Primitive a 'Line testdata/Builtins.lc 240:5-240:52 Type testdata/Builtins.lc 240:21-240:22 Type testdata/Builtins.lc 240:21-240:52 Type testdata/Builtins.lc 240:26-240:27 Type testdata/Builtins.lc 240:26-240:52 Type testdata/Builtins.lc 240:36-240:45 Type -> PrimitiveType -> Type testdata/Builtins.lc 240:36-240:47 PrimitiveType -> Type testdata/Builtins.lc 240:36-240:52 Type testdata/Builtins.lc 240:46-240:47 Type testdata/Builtins.lc 240:48-240:52 PrimitiveType testdata/Builtins.lc 241:5-241:17 Primitive _g 'Triangle | forall a . a -> a -> a -> Primitive a 'Triangle testdata/Builtins.lc 241:5-241:56 Type testdata/Builtins.lc 241:21-241:22 Type testdata/Builtins.lc 241:21-241:56 Type testdata/Builtins.lc 241:26-241:27 Type testdata/Builtins.lc 241:26-241:56 Type testdata/Builtins.lc 241:31-241:32 Type testdata/Builtins.lc 241:31-241:56 Type testdata/Builtins.lc 241:36-241:45 Type -> PrimitiveType -> Type testdata/Builtins.lc 241:36-241:47 PrimitiveType -> Type testdata/Builtins.lc 241:36-241:56 Type testdata/Builtins.lc 241:46-241:47 Type testdata/Builtins.lc 241:48-241:56 PrimitiveType testdata/Builtins.lc 243:1-243:13 forall a b (c :: PrimitiveType) . (a -> b) -> Primitive a c -> Primitive b c testdata/Builtins.lc 243:17-243:59 Type testdata/Builtins.lc 243:18-243:19 _f testdata/Builtins.lc 243:23-243:24 Type | _e testdata/Builtins.lc 243:29-243:38 Type -> PrimitiveType -> Type testdata/Builtins.lc 243:29-243:40 PrimitiveType -> Type testdata/Builtins.lc 243:29-243:42 Type testdata/Builtins.lc 243:29-243:59 Type testdata/Builtins.lc 243:39-243:40 Type testdata/Builtins.lc 243:41-243:42 _c testdata/Builtins.lc 243:46-243:55 Type -> PrimitiveType -> Type testdata/Builtins.lc 243:46-243:57 PrimitiveType -> Type testdata/Builtins.lc 243:46-243:59 Type testdata/Builtins.lc 243:56-243:57 Type testdata/Builtins.lc 243:58-243:59 PrimitiveType testdata/Builtins.lc 250:6-250:21 PrimitiveType -> Type -> Type testdata/Builtins.lc 250:28-250:43 Type testdata/Builtins.lc 250:29-250:38 Type -> PrimitiveType -> Type testdata/Builtins.lc 250:29-250:40 PrimitiveType -> Type testdata/Builtins.lc 250:29-250:42 Type testdata/Builtins.lc 250:39-250:40 _b testdata/Builtins.lc 250:41-250:42 _c testdata/Builtins.lc 252:18-252:72 Type testdata/Builtins.lc 252:19-252:20 _f testdata/Builtins.lc 252:24-252:25 Type | _e testdata/Builtins.lc 252:30-252:45 PrimitiveType -> Type -> Type testdata/Builtins.lc 252:30-252:47 Type -> Type testdata/Builtins.lc 252:30-252:49 Type testdata/Builtins.lc 252:30-252:72 Type testdata/Builtins.lc 252:46-252:47 _c testdata/Builtins.lc 252:48-252:49 Type testdata/Builtins.lc 252:53-252:68 PrimitiveType -> Type -> Type testdata/Builtins.lc 252:53-252:70 Type -> Type testdata/Builtins.lc 252:53-252:72 Type testdata/Builtins.lc 252:69-252:70 PrimitiveType testdata/Builtins.lc 252:71-252:72 Type testdata/Builtins.lc 253:1-253:14 forall a b (c :: PrimitiveType) . (a -> b) -> List (Primitive a c) -> List (Primitive b c) testdata/Builtins.lc 253:19-253:22 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 253:19-253:39 (_c -> _b) -> PrimitiveStream _a _c -> PrimitiveStream _a _b | List (Primitive _e _a) -> List (Primitive _d _a) testdata/Builtins.lc 253:24-253:36 forall a b (c :: PrimitiveType) . (a -> b) -> Primitive a c -> Primitive b c testdata/Builtins.lc 253:24-253:38 Primitive _g _a -> Primitive _f _a testdata/Builtins.lc 253:37-253:38 _i -> _h testdata/Builtins.lc 255:30-255:38 Type -> Type testdata/Builtins.lc 255:45-255:46 Type | Type -> Type testdata/Builtins.lc 260:1-260:12 forall (a :: PrimitiveType) (b :: List Type) (c :: List Type) . (b ~ 'map Type Type ListElem c) => HList c -> PrimitiveStream a (HList b) testdata/Builtins.lc 260:32-260:119 Type testdata/Builtins.lc 260:56-260:57 _e testdata/Builtins.lc 260:56-260:59 _d -> Type testdata/Builtins.lc 260:56-260:75 Type testdata/Builtins.lc 260:58-260:59 forall a . a -> a -> Type testdata/Builtins.lc 260:60-260:63 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 260:60-260:72 List Type -> List Type testdata/Builtins.lc 260:60-260:75 List Type testdata/Builtins.lc 260:64-260:72 Type -> Type testdata/Builtins.lc 260:73-260:75 _b testdata/Builtins.lc 260:80-260:85 List Type -> Type testdata/Builtins.lc 260:80-260:88 Type testdata/Builtins.lc 260:80-260:119 Type testdata/Builtins.lc 260:86-260:88 List Type testdata/Builtins.lc 260:92-260:107 PrimitiveType -> Type -> Type testdata/Builtins.lc 260:92-260:109 Type -> Type testdata/Builtins.lc 260:92-260:119 Type testdata/Builtins.lc 260:108-260:109 _f testdata/Builtins.lc 260:111-260:116 List Type -> Type testdata/Builtins.lc 260:111-260:118 Type testdata/Builtins.lc 260:117-260:118 List Type testdata/Builtins.lc 262:1-262:6 forall (a :: PrimitiveType) (b :: List Type) . String -> HList b -> PrimitiveStream a (HList b) testdata/Builtins.lc 262:56-262:62 Type testdata/Builtins.lc 262:56-262:104 Type testdata/Builtins.lc 262:66-262:71 List Type -> Type testdata/Builtins.lc 262:66-262:73 Type testdata/Builtins.lc 262:66-262:104 Type testdata/Builtins.lc 262:72-262:73 _c testdata/Builtins.lc 262:77-262:92 PrimitiveType -> Type -> Type testdata/Builtins.lc 262:77-262:94 Type -> Type testdata/Builtins.lc 262:77-262:104 Type testdata/Builtins.lc 262:93-262:94 _e testdata/Builtins.lc 262:96-262:101 List Type -> Type testdata/Builtins.lc 262:96-262:103 Type testdata/Builtins.lc 262:102-262:103 List Type testdata/Builtins.lc 264:1-264:10 forall a . String -> a testdata/Builtins.lc 264:14-264:20 Type testdata/Builtins.lc 264:14-264:25 Type testdata/Builtins.lc 264:24-264:25 Type | _c testdata/Builtins.lc 266:1-266:12 forall (a :: PrimitiveType) (b :: List Type) . String -> (c :: List String) -> ('len String c ~ 'len Type b) => PrimitiveStream a (HList b) testdata/Builtins.lc 266:31-266:37 Type testdata/Builtins.lc 266:31-266:123 Type testdata/Builtins.lc 266:32-266:36 Type testdata/Builtins.lc 266:41-266:47 Type testdata/Builtins.lc 266:41-266:123 Type testdata/Builtins.lc 266:51-266:123 Type testdata/Builtins.lc 266:65-266:73 Type testdata/Builtins.lc 266:66-266:72 Type testdata/Builtins.lc 266:78-266:81 forall a . List a -> Int testdata/Builtins.lc 266:78-266:84 Int testdata/Builtins.lc 266:78-266:86 Int -> Type testdata/Builtins.lc 266:78-266:92 Type testdata/Builtins.lc 266:78-266:123 Type testdata/Builtins.lc 266:82-266:84 List String testdata/Builtins.lc 266:85-266:86 forall a . a -> a -> Type testdata/Builtins.lc 266:87-266:90 forall a . List a -> Int testdata/Builtins.lc 266:87-266:92 Int testdata/Builtins.lc 266:91-266:92 List Type testdata/Builtins.lc 266:96-266:111 PrimitiveType -> Type -> Type testdata/Builtins.lc 266:96-266:113 Type -> Type testdata/Builtins.lc 266:96-266:123 Type testdata/Builtins.lc 266:112-266:113 _f testdata/Builtins.lc 266:115-266:120 List Type -> Type testdata/Builtins.lc 266:115-266:122 Type testdata/Builtins.lc 266:121-266:122 List Type testdata/Builtins.lc 270:6-270:14 Nat -> Type -> Type testdata/Builtins.lc 270:21-270:27 Nat -> Type -> Type testdata/Builtins.lc 270:21-270:29 Type -> Type testdata/Builtins.lc 270:21-270:56 Type testdata/Builtins.lc 270:28-270:29 _d testdata/Builtins.lc 270:31-270:36 Type -> Type testdata/Builtins.lc 270:31-270:55 Type testdata/Builtins.lc 270:38-270:52 Type -> Type testdata/Builtins.lc 270:38-270:54 Type testdata/Builtins.lc 270:53-270:54 _b testdata/Builtins.lc 272:6-272:20 Type | Type -> Type testdata/Builtins.lc 272:6-272:22 Type testdata/Builtins.lc 272:6-272:39 Type testdata/Builtins.lc 272:6-274:29 Type testdata/Builtins.lc 272:21-272:22 Type testdata/Builtins.lc 272:25-272:39 SimpleFragment _d | Type | forall a . Vec 3 Float -> a -> SimpleFragment a testdata/Builtins.lc 273:7-273:22 forall a . SimpleFragment a -> VecS Float 3 testdata/Builtins.lc 273:28-273:31 Nat -> Type -> Type testdata/Builtins.lc 273:28-273:33 Type -> Type testdata/Builtins.lc 273:28-273:39 Type testdata/Builtins.lc 273:32-273:33 _b testdata/Builtins.lc 273:34-273:39 Type testdata/Builtins.lc 274:7-274:21 forall a . SimpleFragment a -> a testdata/Builtins.lc 274:28-274:29 Type testdata/Builtins.lc 277:6-277:20 Nat -> Type -> Type testdata/Builtins.lc 277:27-277:41 Type testdata/Builtins.lc 277:28-277:36 Nat -> Type -> Type testdata/Builtins.lc 277:28-277:38 Type -> Type testdata/Builtins.lc 277:28-277:40 Type testdata/Builtins.lc 277:37-277:38 _d testdata/Builtins.lc 277:39-277:40 _b testdata/Builtins.lc 279:1-279:15 forall a (b :: Nat) . (a -> Float) -> Fragment b a -> Fragment b a testdata/Builtins.lc 279:19-279:63 Type testdata/Builtins.lc 279:20-279:21 _d testdata/Builtins.lc 279:25-279:30 Type testdata/Builtins.lc 279:35-279:43 Nat -> Type -> Type testdata/Builtins.lc 279:35-279:45 Type -> Type testdata/Builtins.lc 279:35-279:47 Type testdata/Builtins.lc 279:35-279:63 Type testdata/Builtins.lc 279:44-279:45 _c testdata/Builtins.lc 279:46-279:47 Type testdata/Builtins.lc 279:51-279:59 Nat -> Type -> Type testdata/Builtins.lc 279:51-279:61 Type -> Type testdata/Builtins.lc 279:51-279:63 Type testdata/Builtins.lc 279:60-279:61 Nat testdata/Builtins.lc 279:62-279:63 Type testdata/Builtins.lc 281:20-281:76 Type testdata/Builtins.lc 281:21-281:22 _d testdata/Builtins.lc 281:26-281:31 Type testdata/Builtins.lc 281:36-281:50 Nat -> Type -> Type testdata/Builtins.lc 281:36-281:52 Type -> Type testdata/Builtins.lc 281:36-281:54 Type testdata/Builtins.lc 281:36-281:76 Type testdata/Builtins.lc 281:51-281:52 _c testdata/Builtins.lc 281:53-281:54 Type testdata/Builtins.lc 281:58-281:72 Nat -> Type -> Type testdata/Builtins.lc 281:58-281:74 Type -> Type testdata/Builtins.lc 281:58-281:76 Type testdata/Builtins.lc 281:73-281:74 Nat testdata/Builtins.lc 281:75-281:76 Type testdata/Builtins.lc 282:1-282:16 forall a (b :: Nat) . (a -> Float) -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) testdata/Builtins.lc 282:21-282:24 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 282:21-282:43 (_b -> Float) -> FragmentStream _a _b -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _d))) -> List (Vector _a (Maybe (SimpleFragment _d))) testdata/Builtins.lc 282:26-282:40 forall a (b :: Nat) . (a -> Float) -> Fragment b a -> Fragment b a testdata/Builtins.lc 282:26-282:42 Fragment _a _f -> Fragment _a _f testdata/Builtins.lc 282:41-282:42 _g -> Float testdata/Builtins.lc 284:1-284:15 forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a testdata/Builtins.lc 284:19-284:62 Type testdata/Builtins.lc 284:20-284:21 _d testdata/Builtins.lc 284:25-284:29 Type testdata/Builtins.lc 284:34-284:42 Nat -> Type -> Type testdata/Builtins.lc 284:34-284:44 Type -> Type testdata/Builtins.lc 284:34-284:46 Type testdata/Builtins.lc 284:34-284:62 Type testdata/Builtins.lc 284:43-284:44 _c testdata/Builtins.lc 284:45-284:46 Type testdata/Builtins.lc 284:50-284:58 Nat -> Type -> Type testdata/Builtins.lc 284:50-284:60 Type -> Type testdata/Builtins.lc 284:50-284:62 Type testdata/Builtins.lc 284:59-284:60 Nat testdata/Builtins.lc 284:61-284:62 Type testdata/Builtins.lc 286:20-286:75 Type testdata/Builtins.lc 286:21-286:22 _d testdata/Builtins.lc 286:26-286:30 Type testdata/Builtins.lc 286:35-286:49 Nat -> Type -> Type testdata/Builtins.lc 286:35-286:51 Type -> Type testdata/Builtins.lc 286:35-286:53 Type testdata/Builtins.lc 286:35-286:75 Type testdata/Builtins.lc 286:50-286:51 _c testdata/Builtins.lc 286:52-286:53 Type testdata/Builtins.lc 286:57-286:71 Nat -> Type -> Type testdata/Builtins.lc 286:57-286:73 Type -> Type testdata/Builtins.lc 286:57-286:75 Type testdata/Builtins.lc 286:72-286:73 Nat testdata/Builtins.lc 286:74-286:75 Type testdata/Builtins.lc 287:1-287:16 forall a (b :: Nat) . (a -> Bool) -> List (Vector b (Maybe (SimpleFragment a))) -> List (Vector b (Maybe (SimpleFragment a))) testdata/Builtins.lc 287:21-287:24 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 287:21-287:43 (_b -> Bool) -> FragmentStream _a _b -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _d))) -> List (Vector _a (Maybe (SimpleFragment _d))) testdata/Builtins.lc 287:26-287:40 forall a (b :: Nat) . (a -> Bool) -> Fragment b a -> Fragment b a testdata/Builtins.lc 287:26-287:42 Fragment _a _f -> Fragment _a _f testdata/Builtins.lc 287:41-287:42 _g -> Bool testdata/Builtins.lc 289:1-289:12 forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b testdata/Builtins.lc 289:16-289:56 Type testdata/Builtins.lc 289:17-289:18 _f testdata/Builtins.lc 289:22-289:23 Type | _e testdata/Builtins.lc 289:28-289:36 Nat -> Type -> Type testdata/Builtins.lc 289:28-289:38 Type -> Type testdata/Builtins.lc 289:28-289:40 Type testdata/Builtins.lc 289:28-289:56 Type testdata/Builtins.lc 289:37-289:38 _c testdata/Builtins.lc 289:39-289:40 Type testdata/Builtins.lc 289:44-289:52 Nat -> Type -> Type testdata/Builtins.lc 289:44-289:54 Type -> Type testdata/Builtins.lc 289:44-289:56 Type testdata/Builtins.lc 289:53-289:54 Nat testdata/Builtins.lc 289:55-289:56 Type testdata/Builtins.lc 291:17-291:69 Type testdata/Builtins.lc 291:18-291:19 _f testdata/Builtins.lc 291:23-291:24 Type | _e testdata/Builtins.lc 291:29-291:43 Nat -> Type -> Type testdata/Builtins.lc 291:29-291:45 Type -> Type testdata/Builtins.lc 291:29-291:47 Type testdata/Builtins.lc 291:29-291:69 Type testdata/Builtins.lc 291:44-291:45 _c testdata/Builtins.lc 291:46-291:47 Type testdata/Builtins.lc 291:51-291:65 Nat -> Type -> Type testdata/Builtins.lc 291:51-291:67 Type -> Type testdata/Builtins.lc 291:51-291:69 Type testdata/Builtins.lc 291:66-291:67 Nat testdata/Builtins.lc 291:68-291:69 Type testdata/Builtins.lc 292:1-292:13 forall a b (c :: Nat) . (a -> b) -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) testdata/Builtins.lc 292:18-292:21 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 292:18-292:37 (_c -> _b) -> FragmentStream _a _c -> FragmentStream _a _b | List (Vector _a (Maybe (SimpleFragment _e))) -> List (Vector _a (Maybe (SimpleFragment _d))) testdata/Builtins.lc 292:23-292:34 forall a b (c :: Nat) . (a -> b) -> Fragment c a -> Fragment c b testdata/Builtins.lc 292:23-292:36 Fragment _a _g -> Fragment _a _f testdata/Builtins.lc 292:35-292:36 _i -> _h testdata/Builtins.lc 296:6-296:15 Type testdata/Builtins.lc 296:6-299:14 Type testdata/Builtins.lc 297:7-297:12 ImageKind | Type | Type -> ImageKind testdata/Builtins.lc 297:13-297:17 Type testdata/Builtins.lc 298:7-298:12 ImageKind testdata/Builtins.lc 299:7-299:14 ImageKind testdata/Builtins.lc 301:14-301:23 Type testdata/Builtins.lc 301:27-301:31 Type testdata/Builtins.lc 302:1-302:10 ImageKind -> Type testdata/Builtins.lc 302:23-302:24 Type | Type -> _a testdata/Builtins.lc 302:23-303:25 Type -> ImageKind -> Type testdata/Builtins.lc 302:23-304:25 ImageKind -> Type | Type testdata/Builtins.lc 303:19-303:25 Type testdata/Builtins.lc 304:21-304:25 Type testdata/Builtins.lc 306:6-306:11 Nat -> ImageKind -> Type | Type testdata/Builtins.lc 306:6-306:38 Type testdata/Builtins.lc 306:18-306:21 Type testdata/Builtins.lc 306:29-306:38 Type testdata/Builtins.lc 308:1-308:11 forall (a :: Nat) (b :: Nat) c d . (Num c, d ~ VecScalar b c) => d -> Image a ('Color d) testdata/Builtins.lc 308:45-309:55 Type testdata/Builtins.lc 308:46-308:49 Type -> Type testdata/Builtins.lc 308:46-308:51 Type testdata/Builtins.lc 308:50-308:51 _d testdata/Builtins.lc 308:53-308:58 _d testdata/Builtins.lc 308:53-308:60 _c -> Type testdata/Builtins.lc 308:53-308:74 Type testdata/Builtins.lc 308:53-309:55 Type testdata/Builtins.lc 308:59-308:60 forall a . a -> a -> Type testdata/Builtins.lc 308:61-308:70 Nat -> Type -> Type testdata/Builtins.lc 308:61-308:72 Type -> Type testdata/Builtins.lc 308:61-308:74 Type testdata/Builtins.lc 308:71-308:72 _f testdata/Builtins.lc 308:73-308:74 Type testdata/Builtins.lc 309:24-309:29 Type testdata/Builtins.lc 309:24-309:55 Type testdata/Builtins.lc 309:34-309:39 Nat -> ImageKind -> Type testdata/Builtins.lc 309:34-309:41 ImageKind -> Type testdata/Builtins.lc 309:34-309:55 Type testdata/Builtins.lc 309:40-309:41 _h testdata/Builtins.lc 309:43-309:48 Type -> ImageKind testdata/Builtins.lc 309:43-309:54 ImageKind testdata/Builtins.lc 309:49-309:54 Type testdata/Builtins.lc 310:1-310:11 forall (a :: Nat) . Float -> Image a 'Depth testdata/Builtins.lc 310:35-310:40 Type testdata/Builtins.lc 310:35-310:58 Type testdata/Builtins.lc 310:45-310:50 Nat -> ImageKind -> Type testdata/Builtins.lc 310:45-310:52 ImageKind -> Type testdata/Builtins.lc 310:45-310:58 Type testdata/Builtins.lc 310:51-310:52 _c testdata/Builtins.lc 310:53-310:58 ImageKind testdata/Builtins.lc 311:1-311:13 forall (a :: Nat) . Int -> Image a 'Stencil testdata/Builtins.lc 311:35-311:38 Type testdata/Builtins.lc 311:35-311:60 Type testdata/Builtins.lc 311:45-311:50 Nat -> ImageKind -> Type testdata/Builtins.lc 311:45-311:52 ImageKind -> Type testdata/Builtins.lc 311:45-311:60 Type testdata/Builtins.lc 311:51-311:52 _c testdata/Builtins.lc 311:53-311:60 ImageKind testdata/Builtins.lc 313:1-313:16 Float -> Image 1 'Depth testdata/Builtins.lc 313:19-313:29 forall (a :: Nat) . Float -> Image a 'Depth testdata/Builtins.lc 313:19-313:32 Float -> Image 1 'Depth testdata/Builtins.lc 313:31-313:32 _b testdata/Builtins.lc 314:1-314:16 forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c) testdata/Builtins.lc 314:19-314:29 forall (a :: Nat) (b :: Nat) c d . (Num c, d ~ VecScalar b c) => d -> Image a ('Color d) testdata/Builtins.lc 314:19-314:32 forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c) testdata/Builtins.lc 314:31-314:32 _b testdata/Builtins.lc 321:6-321:11 Type testdata/Builtins.lc 321:6-321:31 Type testdata/Builtins.lc 321:14-321:16 Swizz testdata/Builtins.lc 321:19-321:21 Swizz testdata/Builtins.lc 321:24-321:26 Swizz testdata/Builtins.lc 321:29-321:31 Swizz testdata/Builtins.lc 339:16-339:48 Type testdata/Builtins.lc 339:27-339:30 Nat -> Type -> Type testdata/Builtins.lc 339:27-339:32 Type -> Type testdata/Builtins.lc 339:27-339:34 Type testdata/Builtins.lc 339:27-339:48 Type testdata/Builtins.lc 339:31-339:32 _b testdata/Builtins.lc 339:33-339:34 _c testdata/Builtins.lc 339:38-339:43 Type testdata/Builtins.lc 339:38-339:48 Type testdata/Builtins.lc 339:47-339:48 Type testdata/Builtins.lc 340:1-340:12 forall a (b :: Nat) . Vec b a -> Swizz -> a testdata/Builtins.lc 340:27-340:28 _e testdata/Builtins.lc 340:27-341:28 _b -> _b -> _a | _c | _c -> _b | _d -> _d -> Swizz -> _d testdata/Builtins.lc 340:27-344:30 (_a -> _a -> _a -> _a -> _a) -> forall (a :: Nat) . VecS _a a -> _a testdata/Builtins.lc 340:27-348:32 Swizz -> _c | Vec _a _b -> Swizz -> _b | _d | forall (a :: Nat) . VecS _a a -> _a testdata/Builtins.lc 341:27-341:28 _d testdata/Builtins.lc 342:29-342:30 _e testdata/Builtins.lc 342:29-343:30 _d -> _d -> Swizz -> _d testdata/Builtins.lc 342:29-344:30 _a -> _a -> _a -> _a | _b -> _b -> _b | _c -> _c | _d | _d -> Swizz -> _d testdata/Builtins.lc 343:29-343:30 _d testdata/Builtins.lc 344:29-344:30 _d testdata/Builtins.lc 345:31-345:32 _f testdata/Builtins.lc 345:31-346:32 _e -> _e -> Swizz -> _e testdata/Builtins.lc 345:31-347:32 _e -> Swizz -> _e testdata/Builtins.lc 345:31-348:32 Swizz -> _e | _a -> _a -> _a -> _a -> _a | _b -> _b -> _b -> _b | _c -> _c -> _c | _d -> _d | _e testdata/Builtins.lc 346:31-346:32 _e testdata/Builtins.lc 347:31-347:32 _e testdata/Builtins.lc 348:31-348:32 _e testdata/Builtins.lc 351:28-351:31 Nat -> Type -> Type testdata/Builtins.lc 351:28-351:33 Type -> Type testdata/Builtins.lc 351:28-351:35 Type testdata/Builtins.lc 351:28-351:43 Type testdata/Builtins.lc 351:32-351:33 _b testdata/Builtins.lc 351:34-351:35 _c testdata/Builtins.lc 351:39-351:43 Type testdata/Builtins.lc 352:1-352:11 forall a (b :: Nat) . Vec b a -> Bool testdata/Builtins.lc 352:23-352:27 Bool | _b -> _b -> _a | _c -> _b testdata/Builtins.lc 352:23-353:29 (_a -> _a -> _a -> _a -> Bool) -> forall (a :: Nat) . VecS _a a -> Bool testdata/Builtins.lc 352:23-354:31 Bool | Vec _a _b -> Bool | forall (a :: Nat) . VecS _a a -> Bool testdata/Builtins.lc 353:25-353:29 Bool | _a -> _a -> _a -> Bool | _b -> _b -> Bool | _c -> Bool testdata/Builtins.lc 354:27-354:31 Bool | _a -> _a -> _a -> _a -> Bool | _b -> _b -> _b -> Bool | _c -> _c -> Bool | _d -> Bool testdata/Builtins.lc 356:16-356:71 Type testdata/Builtins.lc 356:27-356:71 Type testdata/Builtins.lc 356:38-356:41 Nat -> Type -> Type testdata/Builtins.lc 356:38-356:43 Type -> Type testdata/Builtins.lc 356:38-356:45 Type testdata/Builtins.lc 356:38-356:71 Type testdata/Builtins.lc 356:42-356:43 _d testdata/Builtins.lc 356:44-356:45 _e testdata/Builtins.lc 356:49-356:52 Nat -> Type -> Type testdata/Builtins.lc 356:49-356:54 Type -> Type testdata/Builtins.lc 356:49-356:60 Type testdata/Builtins.lc 356:49-356:71 Type testdata/Builtins.lc 356:53-356:54 _c testdata/Builtins.lc 356:55-356:60 Type testdata/Builtins.lc 356:64-356:67 Nat -> Type -> Type testdata/Builtins.lc 356:64-356:69 Type -> Type testdata/Builtins.lc 356:64-356:71 Type testdata/Builtins.lc 356:68-356:69 Nat testdata/Builtins.lc 356:70-356:71 Type testdata/Builtins.lc 357:1-357:12 forall a (b :: Nat) (c :: Nat) . Vec b a -> Vec c Swizz -> VecS a c testdata/Builtins.lc 357:19-357:29 forall a (b :: Nat) . Vec b a -> Bool testdata/Builtins.lc 357:19-357:31 Bool testdata/Builtins.lc 357:19-357:58 Vec _b Swizz -> Vec _b _d | Vec _b _c -> Vec _a Swizz -> Vec _a _c | VecS _e _c testdata/Builtins.lc 357:30-357:31 Vec _f _g testdata/Builtins.lc 357:34-357:40 forall a b (c :: Nat) . (a -> b) -> VecS a c -> VecS b c testdata/Builtins.lc 357:34-357:56 VecS Swizz _a -> VecS _g _a testdata/Builtins.lc 357:34-357:58 VecS _e _c testdata/Builtins.lc 357:42-357:53 forall a (b :: Nat) . Vec b a -> Swizz -> a testdata/Builtins.lc 357:42-357:55 Swizz -> _i testdata/Builtins.lc 357:54-357:55 Vec _j _k testdata/Builtins.lc 357:57-357:58 Vec _d Swizz testdata/Builtins.lc 361:6-361:20 Type testdata/Builtins.lc 361:6-376:23 Type testdata/Builtins.lc 362:7-362:13 BlendingFactor testdata/Builtins.lc 363:7-363:12 BlendingFactor testdata/Builtins.lc 364:7-364:15 BlendingFactor testdata/Builtins.lc 365:7-365:23 BlendingFactor testdata/Builtins.lc 366:7-366:15 BlendingFactor testdata/Builtins.lc 367:7-367:23 BlendingFactor testdata/Builtins.lc 368:7-368:15 BlendingFactor testdata/Builtins.lc 369:7-369:23 BlendingFactor testdata/Builtins.lc 370:7-370:15 BlendingFactor testdata/Builtins.lc 371:7-371:23 BlendingFactor testdata/Builtins.lc 372:7-372:20 BlendingFactor testdata/Builtins.lc 373:7-373:28 BlendingFactor testdata/Builtins.lc 374:7-374:20 BlendingFactor testdata/Builtins.lc 375:7-375:28 BlendingFactor testdata/Builtins.lc 376:7-376:23 BlendingFactor testdata/Builtins.lc 378:6-378:19 Type testdata/Builtins.lc 378:6-383:10 Type testdata/Builtins.lc 379:7-379:14 BlendEquation testdata/Builtins.lc 380:7-380:19 BlendEquation testdata/Builtins.lc 381:7-381:26 BlendEquation testdata/Builtins.lc 382:7-382:10 BlendEquation testdata/Builtins.lc 383:7-383:10 BlendEquation testdata/Builtins.lc 385:6-385:20 Type testdata/Builtins.lc 385:6-401:10 Type testdata/Builtins.lc 386:7-386:12 LogicOperation testdata/Builtins.lc 387:7-387:10 LogicOperation testdata/Builtins.lc 388:7-388:17 LogicOperation testdata/Builtins.lc 389:7-389:11 LogicOperation testdata/Builtins.lc 390:7-390:18 LogicOperation testdata/Builtins.lc 391:7-391:11 LogicOperation testdata/Builtins.lc 392:7-392:10 LogicOperation testdata/Builtins.lc 393:7-393:9 LogicOperation testdata/Builtins.lc 394:7-394:10 LogicOperation testdata/Builtins.lc 395:7-395:12 LogicOperation testdata/Builtins.lc 396:7-396:13 LogicOperation testdata/Builtins.lc 397:7-397:16 LogicOperation testdata/Builtins.lc 398:7-398:19 LogicOperation testdata/Builtins.lc 399:7-399:17 LogicOperation testdata/Builtins.lc 400:7-400:11 LogicOperation testdata/Builtins.lc 401:7-401:10 LogicOperation testdata/Builtins.lc 403:6-403:22 Type testdata/Builtins.lc 403:6-411:15 Type testdata/Builtins.lc 404:7-404:13 StencilOperation testdata/Builtins.lc 405:7-405:13 StencilOperation testdata/Builtins.lc 406:7-406:16 StencilOperation testdata/Builtins.lc 407:7-407:13 StencilOperation testdata/Builtins.lc 408:7-408:17 StencilOperation testdata/Builtins.lc 409:7-409:13 StencilOperation testdata/Builtins.lc 410:7-410:17 StencilOperation testdata/Builtins.lc 411:7-411:15 StencilOperation testdata/Builtins.lc 413:6-413:24 Type testdata/Builtins.lc 413:6-421:13 Type testdata/Builtins.lc 414:7-414:12 ComparisonFunction testdata/Builtins.lc 415:7-415:11 ComparisonFunction testdata/Builtins.lc 416:7-416:12 ComparisonFunction testdata/Builtins.lc 417:7-417:13 ComparisonFunction testdata/Builtins.lc 418:7-418:14 ComparisonFunction testdata/Builtins.lc 419:7-419:15 ComparisonFunction testdata/Builtins.lc 420:7-420:13 ComparisonFunction testdata/Builtins.lc 421:7-421:13 ComparisonFunction testdata/Builtins.lc 423:6-423:21 Type testdata/Builtins.lc 423:6-425:18 Type testdata/Builtins.lc 424:7-424:17 ProvokingVertex testdata/Builtins.lc 425:7-425:18 ProvokingVertex testdata/Builtins.lc 427:6-427:14 Type testdata/Builtins.lc 427:6-430:15 Type testdata/Builtins.lc 428:7-428:16 CullMode testdata/Builtins.lc 429:7-429:15 CullMode testdata/Builtins.lc 430:7-430:15 CullMode testdata/Builtins.lc 432:6-432:15 Type | Type -> Type testdata/Builtins.lc 432:6-432:17 Type testdata/Builtins.lc 432:6-433:22 Type testdata/Builtins.lc 432:6-434:23 Type testdata/Builtins.lc 432:6-434:36 Type testdata/Builtins.lc 432:16-432:17 Type testdata/Builtins.lc 433:7-433:16 PointSize _c | Type | forall a . Float -> PointSize a testdata/Builtins.lc 433:17-433:22 Type testdata/Builtins.lc 434:7-434:23 PointSize _d | Type | forall a . (a -> Float) -> PointSize a testdata/Builtins.lc 434:25-434:26 Type testdata/Builtins.lc 434:30-434:35 Type testdata/Builtins.lc 436:6-436:17 Type | Type -> Type testdata/Builtins.lc 436:6-436:19 Type testdata/Builtins.lc 436:6-438:33 Type testdata/Builtins.lc 436:6-439:18 Type testdata/Builtins.lc 436:6-439:24 Type testdata/Builtins.lc 436:18-436:19 Type testdata/Builtins.lc 437:7-437:18 PolygonMode _b | forall a . PolygonMode a testdata/Builtins.lc 438:7-438:19 PolygonMode _d | Type | forall a . PointSize a -> PolygonMode a testdata/Builtins.lc 438:21-438:30 Type -> Type testdata/Builtins.lc 438:21-438:32 Type testdata/Builtins.lc 438:31-438:32 Type testdata/Builtins.lc 439:7-439:18 PolygonMode _e | Type | forall a . Float -> PolygonMode a testdata/Builtins.lc 439:19-439:24 Type testdata/Builtins.lc 441:6-441:19 Type testdata/Builtins.lc 441:6-443:13 Type testdata/Builtins.lc 441:6-443:25 Type testdata/Builtins.lc 442:7-442:15 PolygonOffset testdata/Builtins.lc 443:7-443:13 Float -> Float -> PolygonOffset | PolygonOffset | Type testdata/Builtins.lc 443:14-443:19 Type testdata/Builtins.lc 443:20-443:25 Type testdata/Builtins.lc 445:6-445:28 Type testdata/Builtins.lc 445:6-447:16 Type testdata/Builtins.lc 446:7-446:16 PointSpriteCoordOrigin testdata/Builtins.lc 447:7-447:16 PointSpriteCoordOrigin testdata/Builtins.lc 450:1-450:12 () -> Vec 2 Float -> Vec 4 Float testdata/Builtins.lc 450:16-450:18 Type testdata/Builtins.lc 450:22-450:25 Nat -> Type -> Type testdata/Builtins.lc 450:22-450:27 Type -> Type testdata/Builtins.lc 450:22-450:33 Type testdata/Builtins.lc 450:22-450:48 Type testdata/Builtins.lc 450:26-450:27 _b testdata/Builtins.lc 450:28-450:33 Type testdata/Builtins.lc 450:37-450:40 Nat -> Type -> Type testdata/Builtins.lc 450:37-450:42 Type -> Type testdata/Builtins.lc 450:37-450:48 Type testdata/Builtins.lc 450:41-450:42 _b testdata/Builtins.lc 450:43-450:48 Type testdata/Builtins.lc 453:1-453:8 forall a . String -> a testdata/Builtins.lc 453:14-453:20 Type testdata/Builtins.lc 453:14-453:25 Type testdata/Builtins.lc 453:24-453:25 Type | _c testdata/Builtins.lc 455:6-455:19 Type | Type -> PrimitiveType -> Type testdata/Builtins.lc 455:6-458:111 Type testdata/Builtins.lc 455:25-455:38 Type testdata/Builtins.lc 455:25-455:46 Type testdata/Builtins.lc 455:42-455:46 Type testdata/Builtins.lc 456:3-456:14 RasterContext _f 'Triangle | forall a . CullMode -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle testdata/Builtins.lc 456:3-456:115 Type testdata/Builtins.lc 456:26-456:34 Type testdata/Builtins.lc 456:26-456:115 Type testdata/Builtins.lc 456:38-456:49 Type -> Type testdata/Builtins.lc 456:38-456:51 Type testdata/Builtins.lc 456:38-456:115 Type testdata/Builtins.lc 456:50-456:51 Type testdata/Builtins.lc 456:55-456:68 Type testdata/Builtins.lc 456:55-456:115 Type testdata/Builtins.lc 456:72-456:87 Type testdata/Builtins.lc 456:72-456:115 Type testdata/Builtins.lc 456:91-456:104 Type -> PrimitiveType -> Type testdata/Builtins.lc 456:91-456:106 PrimitiveType -> Type testdata/Builtins.lc 456:91-456:115 Type testdata/Builtins.lc 456:105-456:106 Type testdata/Builtins.lc 456:107-456:115 PrimitiveType testdata/Builtins.lc 457:3-457:11 RasterContext _f 'Point | forall a . PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point testdata/Builtins.lc 457:3-457:112 Type testdata/Builtins.lc 457:26-457:35 Type -> Type testdata/Builtins.lc 457:26-457:37 Type testdata/Builtins.lc 457:26-457:112 Type testdata/Builtins.lc 457:36-457:37 Type testdata/Builtins.lc 457:41-457:46 Type testdata/Builtins.lc 457:41-457:112 Type testdata/Builtins.lc 457:50-457:72 Type testdata/Builtins.lc 457:50-457:112 Type testdata/Builtins.lc 457:91-457:104 Type -> PrimitiveType -> Type testdata/Builtins.lc 457:91-457:106 PrimitiveType -> Type testdata/Builtins.lc 457:91-457:112 Type testdata/Builtins.lc 457:105-457:106 Type testdata/Builtins.lc 457:107-457:112 PrimitiveType testdata/Builtins.lc 458:3-458:10 RasterContext _f 'Line | forall a . Float -> ProvokingVertex -> RasterContext a 'Line testdata/Builtins.lc 458:3-458:111 Type testdata/Builtins.lc 458:26-458:31 Type testdata/Builtins.lc 458:26-458:111 Type testdata/Builtins.lc 458:35-458:50 Type testdata/Builtins.lc 458:35-458:111 Type testdata/Builtins.lc 458:91-458:104 Type -> PrimitiveType -> Type testdata/Builtins.lc 458:91-458:106 PrimitiveType -> Type testdata/Builtins.lc 458:91-458:111 Type testdata/Builtins.lc 458:105-458:106 Type testdata/Builtins.lc 458:107-458:111 PrimitiveType testdata/Builtins.lc 460:6-460:14 Type | Type -> Type testdata/Builtins.lc 460:6-465:74 Type testdata/Builtins.lc 460:18-460:22 Type testdata/Builtins.lc 460:26-460:30 Type testdata/Builtins.lc 461:3-461:13 Blending _a | forall a . Blending a testdata/Builtins.lc 461:3-461:70 Type testdata/Builtins.lc 461:60-461:68 Type -> Type testdata/Builtins.lc 461:60-461:70 Type testdata/Builtins.lc 461:69-461:70 Type | _b testdata/Builtins.lc 462:3-462:15 Blending _c | forall a . Integral a => LogicOperation -> Blending a testdata/Builtins.lc 462:3-462:70 Type testdata/Builtins.lc 462:26-462:70 Type testdata/Builtins.lc 462:27-462:35 Type -> Type testdata/Builtins.lc 462:27-462:37 Type testdata/Builtins.lc 462:36-462:37 _b testdata/Builtins.lc 462:42-462:56 Type testdata/Builtins.lc 462:42-462:70 Type testdata/Builtins.lc 462:60-462:68 Type -> Type testdata/Builtins.lc 462:60-462:70 Type testdata/Builtins.lc 462:69-462:70 Type testdata/Builtins.lc 463:3-463:8 (BlendEquation, BlendEquation) -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) -> Vec 4 Float -> Blending Float | Blending Float testdata/Builtins.lc 463:3-465:74 Type testdata/Builtins.lc 463:26-463:56 Type testdata/Builtins.lc 463:27-463:40 Type testdata/Builtins.lc 463:27-463:55 List Type testdata/Builtins.lc 463:42-463:55 List Type | Type testdata/Builtins.lc 464:29-464:97 Type testdata/Builtins.lc 464:29-465:74 Type testdata/Builtins.lc 464:30-464:62 Type testdata/Builtins.lc 464:30-464:96 List Type testdata/Builtins.lc 464:31-464:45 Type testdata/Builtins.lc 464:31-464:61 List Type testdata/Builtins.lc 464:47-464:61 List Type | Type testdata/Builtins.lc 464:64-464:96 List Type | Type testdata/Builtins.lc 464:65-464:79 Type testdata/Builtins.lc 464:65-464:95 List Type testdata/Builtins.lc 464:81-464:95 List Type | Type testdata/Builtins.lc 465:29-465:32 Nat -> Type -> Type testdata/Builtins.lc 465:29-465:34 Type -> Type testdata/Builtins.lc 465:29-465:40 Type testdata/Builtins.lc 465:29-465:74 Type testdata/Builtins.lc 465:33-465:34 _b testdata/Builtins.lc 465:35-465:40 Type testdata/Builtins.lc 465:60-465:68 Type -> Type testdata/Builtins.lc 465:60-465:74 Type testdata/Builtins.lc 465:69-465:74 Type testdata/Builtins.lc 467:6-467:18 Type testdata/Builtins.lc 468:6-468:16 Type testdata/Builtins.lc 470:6-470:23 ImageKind -> Type | Type testdata/Builtins.lc 470:6-473:96 Type testdata/Builtins.lc 470:27-470:36 Type testdata/Builtins.lc 470:40-470:44 Type testdata/Builtins.lc 471:3-471:10 FragmentOperation ('Color (VecScalar _d _e)) | forall a (b :: Nat) . Num a => Blending a -> VecScalar b Bool -> FragmentOperation ('Color (VecScalar b a)) testdata/Builtins.lc 471:3-471:112 Type testdata/Builtins.lc 471:26-471:29 Type -> Type testdata/Builtins.lc 471:26-471:31 Type testdata/Builtins.lc 471:26-471:112 Type testdata/Builtins.lc 471:30-471:31 _d testdata/Builtins.lc 471:35-471:43 Type -> Type testdata/Builtins.lc 471:35-471:45 Type testdata/Builtins.lc 471:35-471:112 Type testdata/Builtins.lc 471:44-471:45 Type testdata/Builtins.lc 471:49-471:58 Nat -> Type -> Type testdata/Builtins.lc 471:49-471:60 Type -> Type testdata/Builtins.lc 471:49-471:65 Type testdata/Builtins.lc 471:49-471:112 Type testdata/Builtins.lc 471:59-471:60 _d testdata/Builtins.lc 471:61-471:65 Type testdata/Builtins.lc 471:71-471:88 ImageKind -> Type testdata/Builtins.lc 471:71-471:112 Type testdata/Builtins.lc 471:90-471:95 Type -> ImageKind testdata/Builtins.lc 471:90-471:111 ImageKind testdata/Builtins.lc 471:97-471:106 Nat -> Type -> Type testdata/Builtins.lc 471:97-471:108 Type -> Type testdata/Builtins.lc 471:97-471:110 Type testdata/Builtins.lc 471:107-471:108 Nat testdata/Builtins.lc 471:109-471:110 Type testdata/Builtins.lc 472:3-472:10 ComparisonFunction -> Bool -> FragmentOperation 'Depth | FragmentOperation 'Depth testdata/Builtins.lc 472:3-472:94 Type testdata/Builtins.lc 472:26-472:44 Type testdata/Builtins.lc 472:48-472:52 Type testdata/Builtins.lc 472:48-472:94 Type testdata/Builtins.lc 472:71-472:88 ImageKind -> Type testdata/Builtins.lc 472:71-472:94 Type testdata/Builtins.lc 472:89-472:94 ImageKind testdata/Builtins.lc 473:3-473:12 FragmentOperation 'Stencil | StencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil testdata/Builtins.lc 473:3-473:96 Type testdata/Builtins.lc 473:26-473:38 Type testdata/Builtins.lc 473:42-473:52 Type testdata/Builtins.lc 473:42-473:96 Type testdata/Builtins.lc 473:56-473:66 Type testdata/Builtins.lc 473:56-473:96 Type testdata/Builtins.lc 473:71-473:88 ImageKind -> Type testdata/Builtins.lc 473:71-473:96 Type testdata/Builtins.lc 473:89-473:96 ImageKind testdata/Builtins.lc 475:6-475:18 Type | Type -> Type testdata/Builtins.lc 475:6-478:7 Type testdata/Builtins.lc 476:3-476:9 Interpolated _c | Type | forall a . Floating a => Interpolated a testdata/Builtins.lc 476:11-476:24 Interpolated _d | Type | forall a . Floating a => Interpolated a testdata/Builtins.lc 477:26-477:56 Type testdata/Builtins.lc 477:27-477:35 Type -> Type testdata/Builtins.lc 477:27-477:37 Type testdata/Builtins.lc 477:36-477:37 Type testdata/Builtins.lc 477:42-477:54 Type -> Type testdata/Builtins.lc 477:42-477:56 Type testdata/Builtins.lc 477:55-477:56 Type testdata/Builtins.lc 478:3-478:7 Interpolated _d | forall a . Interpolated a testdata/Builtins.lc 478:42-478:54 Type -> Type testdata/Builtins.lc 478:42-478:56 Type testdata/Builtins.lc 478:55-478:56 Type testdata/Builtins.lc 480:1-480:19 forall (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) testdata/Builtins.lc 481:8-486:34 Type testdata/Builtins.lc 481:10-481:13 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 481:10-481:26 List Type -> List Type testdata/Builtins.lc 481:10-481:28 List Type testdata/Builtins.lc 481:10-481:30 List Type -> Type testdata/Builtins.lc 481:10-481:44 Type testdata/Builtins.lc 481:14-481:26 Type -> Type testdata/Builtins.lc 481:27-481:28 _h testdata/Builtins.lc 481:29-481:30 forall a . a -> a -> Type testdata/Builtins.lc 481:31-481:44 _f testdata/Builtins.lc 482:10-482:11 _f testdata/Builtins.lc 482:10-482:13 _e -> Type testdata/Builtins.lc 482:10-482:35 Type testdata/Builtins.lc 482:10-486:34 Type testdata/Builtins.lc 482:12-482:13 forall a . a -> a -> Type testdata/Builtins.lc 482:14-482:19 forall a . a -> List a -> List a testdata/Builtins.lc 482:14-482:33 List Type -> List Type testdata/Builtins.lc 482:14-482:35 List Type testdata/Builtins.lc 482:21-482:24 Nat -> Type -> Type testdata/Builtins.lc 482:21-482:26 Type -> Type testdata/Builtins.lc 482:21-482:32 Type testdata/Builtins.lc 482:25-482:26 _b testdata/Builtins.lc 482:27-482:32 Type testdata/Builtins.lc 482:34-482:35 List Type testdata/Builtins.lc 483:8-483:13 List Type -> Type testdata/Builtins.lc 483:8-483:27 Type testdata/Builtins.lc 483:8-486:34 Type testdata/Builtins.lc 483:14-483:27 List Type testdata/Builtins.lc 484:8-484:21 Type -> PrimitiveType -> Type testdata/Builtins.lc 484:8-484:31 PrimitiveType -> Type testdata/Builtins.lc 484:8-484:33 Type testdata/Builtins.lc 484:8-486:34 Type testdata/Builtins.lc 484:23-484:28 List Type -> Type testdata/Builtins.lc 484:23-484:30 Type testdata/Builtins.lc 484:29-484:30 List Type testdata/Builtins.lc 484:32-484:33 _e testdata/Builtins.lc 485:8-485:17 Type -> PrimitiveType -> Type testdata/Builtins.lc 485:8-485:27 PrimitiveType -> Type testdata/Builtins.lc 485:8-485:29 Type testdata/Builtins.lc 485:8-486:34 Type testdata/Builtins.lc 485:19-485:24 List Type -> Type testdata/Builtins.lc 485:19-485:26 Type testdata/Builtins.lc 485:25-485:26 List Type testdata/Builtins.lc 485:28-485:29 PrimitiveType testdata/Builtins.lc 486:8-486:22 Nat -> Type -> Type testdata/Builtins.lc 486:8-486:24 Type -> Type testdata/Builtins.lc 486:8-486:34 Type testdata/Builtins.lc 486:23-486:24 _b testdata/Builtins.lc 486:26-486:31 List Type -> Type testdata/Builtins.lc 486:26-486:33 Type testdata/Builtins.lc 486:32-486:33 List Type testdata/Builtins.lc 488:1-488:20 forall (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)))) testdata/Builtins.lc 488:32-488:38 forall a . List (List a) -> List a testdata/Builtins.lc 488:32-488:74 List (Vector 1 (Maybe (SimpleFragment (HList _b)))) testdata/Builtins.lc 488:40-488:43 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 488:40-488:71 List (Primitive (HList ('Cons (Vec 4 Float) _b)) _a) -> List (List (Fragment 1 (HList _b))) testdata/Builtins.lc 488:40-488:73 List (List (Fragment 1 (HList _b))) testdata/Builtins.lc 488:45-488:63 forall (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) testdata/Builtins.lc 488:45-488:66 RasterContext (HList ('Cons (Vec 4 Float) _b)) _a -> Primitive (HList ('Cons (Vec 4 Float) _b)) _a -> FragmentStream 1 (HList _b) testdata/Builtins.lc 488:45-488:70 Primitive (HList ('Cons (Vec 4 Float) _b)) _a -> FragmentStream 1 (HList _b) testdata/Builtins.lc 488:64-488:66 _i testdata/Builtins.lc 488:67-488:70 _h testdata/Builtins.lc 488:72-488:73 _d testdata/Builtins.lc 490:26-490:29 Type testdata/Builtins.lc 490:36-490:43 Type -> Nat testdata/Builtins.lc 490:58-490:59 ImageKind -> Nat | Nat | Nat -> ImageKind -> Nat | Type -> Nat testdata/Builtins.lc 492:12-492:15 Type testdata/Builtins.lc 492:12-492:23 Type testdata/Builtins.lc 492:12-495:50 _a -> _a | forall a . List a -> Type testdata/Builtins.lc 492:13-492:14 _b testdata/Builtins.lc 492:19-492:23 Type testdata/Builtins.lc 493:1-493:8 forall a . List a -> Type testdata/Builtins.lc 493:14-493:19 Type testdata/Builtins.lc 493:14-495:50 List _a -> Type | Type testdata/Builtins.lc 494:15-494:20 Type testdata/Builtins.lc 494:15-495:50 List _b -> Type | List _c -> Type | Type | _a -> List _a -> Type testdata/Builtins.lc 495:22-495:25 Type -> Type -> Type testdata/Builtins.lc 495:22-495:33 Type -> Type testdata/Builtins.lc 495:22-495:50 List _b -> Type | Type | _a -> List _a -> Type testdata/Builtins.lc 495:27-495:28 _g testdata/Builtins.lc 495:27-495:30 _f -> Type testdata/Builtins.lc 495:27-495:32 Type testdata/Builtins.lc 495:29-495:30 forall a . a -> a -> Type testdata/Builtins.lc 495:31-495:32 _c testdata/Builtins.lc 495:35-495:42 forall a . List a -> Type testdata/Builtins.lc 495:35-495:49 Type testdata/Builtins.lc 495:44-495:45 _g testdata/Builtins.lc 495:44-495:46 List _f -> List _f testdata/Builtins.lc 495:44-495:48 List _e testdata/Builtins.lc 495:45-495:46 forall a . a -> List a -> List a testdata/Builtins.lc 495:46-495:48 List _e testdata/Builtins.lc 497:1-497:16 List Type -> Type testdata/Builtins.lc 497:21-497:28 forall a . List a -> Type testdata/Builtins.lc 497:21-497:45 Type testdata/Builtins.lc 497:30-497:33 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 497:30-497:42 List Type -> List Nat testdata/Builtins.lc 497:30-497:44 List Nat testdata/Builtins.lc 497:34-497:42 Type -> Nat testdata/Builtins.lc 497:43-497:44 _b testdata/Builtins.lc 509:6-509:17 Nat -> List ImageKind -> Type | Type testdata/Builtins.lc 509:6-509:46 Type testdata/Builtins.lc 509:24-509:27 Type testdata/Builtins.lc 509:35-509:46 Type testdata/Builtins.lc 509:36-509:45 Type testdata/Builtins.lc 511:15-511:26 Type testdata/Builtins.lc 511:16-511:25 Type testdata/Builtins.lc 511:30-511:36 Type testdata/Builtins.lc 511:31-511:35 Type testdata/Builtins.lc 512:1-512:11 List ImageKind -> List Type testdata/Builtins.lc 512:25-512:28 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 512:25-512:38 List ImageKind -> List Type testdata/Builtins.lc 512:25-512:40 List Type testdata/Builtins.lc 512:25-513:31 List ImageKind -> List Type | List Type | List Type -> ImageKind -> List Type | List _b -> List Type | _a -> List _a -> List Type testdata/Builtins.lc 512:29-512:38 ImageKind -> Type testdata/Builtins.lc 512:39-512:40 List _c testdata/Builtins.lc 513:16-513:19 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 513:16-513:29 List ImageKind -> List Type testdata/Builtins.lc 513:16-513:31 List Type | Type -> _a testdata/Builtins.lc 513:20-513:29 ImageKind -> Type testdata/Builtins.lc 513:30-513:31 List ImageKind testdata/Builtins.lc 515:40-515:49 Type testdata/Builtins.lc 515:56-515:77 Type -> ImageKind testdata/Builtins.lc 515:102-515:103 ImageKind | ImageKind -> ImageKind | Type -> ImageKind testdata/Builtins.lc 517:1-517:11 forall (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 testdata/Builtins.lc 517:15-517:174 Type testdata/Builtins.lc 517:28-517:31 Type testdata/Builtins.lc 517:39-517:45 Type testdata/Builtins.lc 517:39-517:174 Type testdata/Builtins.lc 517:40-517:44 Type testdata/Builtins.lc 517:49-517:174 Type testdata/Builtins.lc 517:50-517:51 _e testdata/Builtins.lc 517:50-517:53 _d -> Type testdata/Builtins.lc 517:50-517:81 Type testdata/Builtins.lc 517:52-517:53 forall a . a -> a -> Type testdata/Builtins.lc 517:54-517:57 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 517:54-517:79 List Type -> List ImageKind testdata/Builtins.lc 517:54-517:81 List ImageKind testdata/Builtins.lc 517:58-517:79 Type -> ImageKind testdata/Builtins.lc 517:80-517:81 List Type testdata/Builtins.lc 517:86-517:91 List Type -> Type testdata/Builtins.lc 517:86-517:93 Type testdata/Builtins.lc 517:86-517:174 Type testdata/Builtins.lc 517:92-517:93 List Type testdata/Builtins.lc 517:97-517:111 Nat -> Type -> Type testdata/Builtins.lc 517:97-517:113 Type -> Type testdata/Builtins.lc 517:97-517:136 Type testdata/Builtins.lc 517:97-517:174 Type testdata/Builtins.lc 517:112-517:113 Nat testdata/Builtins.lc 517:115-517:120 List Type -> Type testdata/Builtins.lc 517:115-517:135 Type testdata/Builtins.lc 517:122-517:132 List ImageKind -> List Type testdata/Builtins.lc 517:122-517:134 List Type testdata/Builtins.lc 517:133-517:134 List ImageKind testdata/Builtins.lc 517:140-517:151 Nat -> List ImageKind -> Type testdata/Builtins.lc 517:140-517:153 List ImageKind -> Type testdata/Builtins.lc 517:140-517:155 Type testdata/Builtins.lc 517:140-517:174 Type testdata/Builtins.lc 517:152-517:153 Nat testdata/Builtins.lc 517:154-517:155 List ImageKind testdata/Builtins.lc 517:159-517:170 Nat -> List ImageKind -> Type testdata/Builtins.lc 517:159-517:172 List ImageKind -> Type testdata/Builtins.lc 517:159-517:174 Type testdata/Builtins.lc 517:171-517:172 Nat testdata/Builtins.lc 517:173-517:174 List ImageKind testdata/Builtins.lc 519:1-519:15 forall a b . a -> b -> (a, b) testdata/Builtins.lc 519:24-519:32 (_d, _b) testdata/Builtins.lc 519:25-519:28 _f testdata/Builtins.lc 519:30-519:31 ((_b)) | _e testdata/Builtins.lc 520:1-520:8 forall (a :: Nat) (b :: List Type) . FrameBuffer a ('map Type ImageKind FragmentOperationKind b) -> (HList b, List (Fragment a (HList ('imageType' ('map Type ImageKind FragmentOperationKind b))))) -> FrameBuffer a ('map Type ImageKind FragmentOperationKind b) testdata/Builtins.lc 520:25-520:35 forall (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 testdata/Builtins.lc 520:25-520:39 FragmentStream _b (HList ('imageType' ('map Type ImageKind FragmentOperationKind _a))) -> FrameBuffer _b ('map Type ImageKind FragmentOperationKind _a) -> FrameBuffer _b ('map Type ImageKind FragmentOperationKind _a) testdata/Builtins.lc 520:25-520:43 FrameBuffer _b ('map Type ImageKind FragmentOperationKind _a) -> FrameBuffer _b ('map Type ImageKind FragmentOperationKind _a) testdata/Builtins.lc 520:25-520:46 FrameBuffer _b ('map Type ImageKind FragmentOperationKind _a) | HList _c -> _b | _c -> HList _b -> _a testdata/Builtins.lc 520:36-520:39 _m testdata/Builtins.lc 520:40-520:43 _h testdata/Builtins.lc 520:44-520:46 _n testdata/Builtins.lc 524:31-524:40 Type testdata/Builtins.lc 524:47-524:59 Type -> ImageKind testdata/Builtins.lc 524:74-524:75 ImageKind | ImageKind -> ImageKind | Nat -> ImageKind -> ImageKind | Type -> ImageKind testdata/Builtins.lc 530:1-530:12 forall (a :: List Type) . 'sameLayerCounts a => HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageKind GetImageKind a) testdata/Builtins.lc 530:30-530:36 Type testdata/Builtins.lc 530:31-530:35 Type testdata/Builtins.lc 530:40-530:125 Type testdata/Builtins.lc 530:41-530:56 List Type -> Type testdata/Builtins.lc 530:41-530:58 Type testdata/Builtins.lc 530:57-530:58 List Type testdata/Builtins.lc 530:63-530:68 List Type -> Type testdata/Builtins.lc 530:63-530:70 Type testdata/Builtins.lc 530:63-530:125 Type testdata/Builtins.lc 530:69-530:70 List Type testdata/Builtins.lc 530:74-530:85 Nat -> List ImageKind -> Type testdata/Builtins.lc 530:74-530:104 List ImageKind -> Type testdata/Builtins.lc 530:74-530:125 Type testdata/Builtins.lc 530:87-530:94 Type -> Nat testdata/Builtins.lc 530:87-530:103 Nat testdata/Builtins.lc 530:96-530:100 forall a . List a -> a testdata/Builtins.lc 530:96-530:102 Type testdata/Builtins.lc 530:101-530:102 List Type testdata/Builtins.lc 530:106-530:109 forall a b . (a -> b) -> List a -> List b testdata/Builtins.lc 530:106-530:122 List Type -> List ImageKind testdata/Builtins.lc 530:106-530:124 List ImageKind testdata/Builtins.lc 530:110-530:122 Type -> ImageKind testdata/Builtins.lc 530:123-530:124 List Type testdata/Builtins.lc 532:1-532:11 forall (a :: List Type) . 'sameLayerCounts a => HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageKind GetImageKind a) testdata/Builtins.lc 532:14-532:25 forall (a :: List Type) . 'sameLayerCounts a => HList a -> FrameBuffer (ImageLC ('head Type a)) ('map Type ImageKind GetImageKind a) testdata/Builtins.lc 534:1-534:11 forall (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) testdata/Builtins.lc 534:34-534:44 forall (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 testdata/Builtins.lc 534:34-534:48 FragmentStream _b (HList ('imageType' ('map Type ImageKind FragmentOperationKind _a))) -> FrameBuffer _b ('map Type ImageKind FragmentOperationKind _a) -> FrameBuffer _b ('map Type ImageKind FragmentOperationKind _a) testdata/Builtins.lc 534:34-534:76 FrameBuffer _c ('map Type ImageKind FragmentOperationKind _b) -> FrameBuffer _c ('map Type ImageKind FragmentOperationKind _b) testdata/Builtins.lc 534:34-534:79 FrameBuffer _c ('map Type ImageKind FragmentOperationKind _b) testdata/Builtins.lc 534:45-534:48 _j testdata/Builtins.lc 534:50-534:62 forall a b (c :: Nat) . (a -> b) -> List (Vector c (Maybe (SimpleFragment a))) -> List (Vector c (Maybe (SimpleFragment b))) testdata/Builtins.lc 534:50-534:70 List (Vector _a (Maybe (SimpleFragment _c))) -> List (Vector _a (Maybe (SimpleFragment _b))) testdata/Builtins.lc 534:50-534:75 List (Vector _c (Maybe (SimpleFragment (HList ('imageType' ('map Type ImageKind FragmentOperationKind _b)))))) testdata/Builtins.lc 534:63-534:70 _k testdata/Builtins.lc 534:71-534:75 _g testdata/Builtins.lc 534:77-534:79 _e testdata/Builtins.lc 537:1-537:9 forall (a :: ImageKind) . FrameBuffer 1 ('Cons a 'Nil) -> Image 1 a testdata/Builtins.lc 537:24-537:35 Nat -> List ImageKind -> Type testdata/Builtins.lc 537:24-537:37 List ImageKind -> Type testdata/Builtins.lc 537:24-537:42 Type testdata/Builtins.lc 537:24-537:55 Type testdata/Builtins.lc 537:36-537:37 _b testdata/Builtins.lc 537:38-537:42 List ImageKind testdata/Builtins.lc 537:40-537:41 _c testdata/Builtins.lc 537:46-537:51 Nat -> ImageKind -> Type testdata/Builtins.lc 537:46-537:53 ImageKind -> Type testdata/Builtins.lc 537:46-537:55 Type testdata/Builtins.lc 537:52-537:53 _b testdata/Builtins.lc 537:54-537:55 ImageKind testdata/Builtins.lc 538:1-538:14 FrameBuffer 1 ('Cons 'Depth ('Cons ('Color (Vec 4 Float)) 'Nil)) -> Image 1 ('Color (Vec 4 Float)) testdata/Builtins.lc 538:24-538:35 Nat -> List ImageKind -> Type testdata/Builtins.lc 538:24-538:37 List ImageKind -> Type testdata/Builtins.lc 538:24-538:70 Type testdata/Builtins.lc 538:36-538:37 _b testdata/Builtins.lc 538:38-538:70 List ImageKind testdata/Builtins.lc 538:41-538:47 ImageKind testdata/Builtins.lc 538:49-538:55 Type -> ImageKind testdata/Builtins.lc 538:49-538:69 ImageKind | List ImageKind testdata/Builtins.lc 538:57-538:60 Nat -> Type -> Type testdata/Builtins.lc 538:57-538:62 Type -> Type testdata/Builtins.lc 538:57-538:68 Type testdata/Builtins.lc 538:61-538:62 _b testdata/Builtins.lc 538:63-538:68 Type testdata/Builtins.lc 538:74-538:79 Nat -> ImageKind -> Type testdata/Builtins.lc 538:74-538:81 ImageKind -> Type testdata/Builtins.lc 538:74-538:103 Type testdata/Builtins.lc 538:80-538:81 _b testdata/Builtins.lc 538:83-538:88 Type -> ImageKind testdata/Builtins.lc 538:83-538:102 ImageKind testdata/Builtins.lc 538:90-538:93 Nat -> Type -> Type testdata/Builtins.lc 538:90-538:95 Type -> Type testdata/Builtins.lc 538:90-538:101 Type testdata/Builtins.lc 538:94-538:95 _b testdata/Builtins.lc 538:96-538:101 Type testdata/Builtins.lc 540:6-540:12 Type testdata/Builtins.lc 540:6-541:12 Type testdata/Builtins.lc 541:3-541:12 Output | Type | forall (a :: Nat) (b :: List ImageKind) . FrameBuffer a b -> Output testdata/Builtins.lc 541:26-541:37 Nat -> List ImageKind -> Type testdata/Builtins.lc 541:26-541:39 List ImageKind -> Type testdata/Builtins.lc 541:26-541:41 Type testdata/Builtins.lc 541:26-541:51 Type testdata/Builtins.lc 541:38-541:39 _d testdata/Builtins.lc 541:40-541:41 _b testdata/Builtins.lc 541:45-541:51 Type testdata/Builtins.lc 543:1-543:12 forall (a :: Nat) (b :: List ImageKind) . FrameBuffer a b -> Output testdata/Builtins.lc 543:15-543:24 forall (a :: Nat) (b :: List ImageKind) . FrameBuffer a b -> Output testdata/Builtins.lc 549:6-549:13 Type testdata/Builtins.lc 549:6-553:12 Type testdata/Builtins.lc 550:3-550:16 String -> Texture | Texture | Type testdata/Builtins.lc 550:20-550:26 Type testdata/Builtins.lc 551:20-551:27 Type testdata/Builtins.lc 553:3-553:12 Texture | Type | Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture testdata/Builtins.lc 553:20-553:23 Nat -> Type -> Type testdata/Builtins.lc 553:20-553:25 Type -> Type testdata/Builtins.lc 553:20-553:29 Type testdata/Builtins.lc 553:24-553:25 _b testdata/Builtins.lc 553:26-553:29 Type testdata/Builtins.lc 554:20-554:25 Nat -> ImageKind -> Type testdata/Builtins.lc 554:20-554:27 ImageKind -> Type testdata/Builtins.lc 554:20-554:49 Type testdata/Builtins.lc 554:20-555:27 Type testdata/Builtins.lc 554:26-554:27 _b testdata/Builtins.lc 554:29-554:34 Type -> ImageKind testdata/Builtins.lc 554:29-554:48 ImageKind testdata/Builtins.lc 554:36-554:39 Nat -> Type -> Type testdata/Builtins.lc 554:36-554:41 Type -> Type testdata/Builtins.lc 554:36-554:47 Type testdata/Builtins.lc 554:40-554:41 _b testdata/Builtins.lc 554:42-554:47 Type testdata/Builtins.lc 555:20-555:27 Type testdata/Builtins.lc 557:6-557:12 Type testdata/Builtins.lc 557:6-559:17 Type testdata/Builtins.lc 558:5-558:16 Filter testdata/Builtins.lc 559:5-559:17 Filter testdata/Builtins.lc 561:6-561:14 Type testdata/Builtins.lc 561:6-564:16 Type testdata/Builtins.lc 562:5-562:11 EdgeMode testdata/Builtins.lc 563:5-563:19 EdgeMode testdata/Builtins.lc 564:5-564:16 EdgeMode testdata/Builtins.lc 566:6-566:13 Type testdata/Builtins.lc 566:6-566:23 Type testdata/Builtins.lc 566:6-566:47 Type testdata/Builtins.lc 566:16-566:23 Filter -> EdgeMode -> Texture -> Sampler | Sampler | Type testdata/Builtins.lc 566:24-566:30 Type testdata/Builtins.lc 566:31-566:39 Type testdata/Builtins.lc 566:40-566:47 Type testdata/Builtins.lc 569:1-569:10 Sampler -> Vec 2 Float -> Vec 4 Float testdata/Builtins.lc 569:14-569:21 Type testdata/Builtins.lc 569:25-569:28 Nat -> Type -> Type testdata/Builtins.lc 569:25-569:30 Type -> Type testdata/Builtins.lc 569:25-569:36 Type testdata/Builtins.lc 569:25-569:51 Type testdata/Builtins.lc 569:29-569:30 _b testdata/Builtins.lc 569:31-569:36 Type testdata/Builtins.lc 569:40-569:43 Nat -> Type -> Type testdata/Builtins.lc 569:40-569:45 Type -> Type testdata/Builtins.lc 569:40-569:51 Type testdata/Builtins.lc 569:44-569:45 _b testdata/Builtins.lc 569:46-569:51 Type testdata/Builtins.lc 573:1-573:20 forall a . a -> a testdata/Builtins.lc 573:25-573:26 _b ------------ warnings Uncovered pattern(s) at testdata/Builtins.lc:201:1: head (x: _) = x ^^^^ Missing case(s): Nil Uncovered pattern(s) at testdata/Builtins.lc:340:1: swizzscalar (V2 x y) Sx = x swizzscalar (V2 x y) Sy = y swizzscalar (V3 x y z) Sx = x swizzscalar (V3 x y z) Sy = y swizzscalar (V3 x y z) Sz = z swizzscalar (V4 x y z w) Sx = x swizzscalar (V4 x y z w) Sy = y swizzscalar (V4 x y z w) Sz = z swizzscalar (V4 x y z w) Sw = w Missing case(s): V2 Sz V2 Sw V3 Sw Uncovered pattern(s) at testdata/Builtins.lc:357:1: swizzvector v w | definedVec v = mapVec (swizzscalar v) w ^^^^^^^^^^^ Missing case(s): _ _ | False <- definedVec _b