------------ desugared source code infixr 9 . infixl 7 PrimMulMatVec infixl 7 PrimDot infixr 5 ++ infixr 3 *** infixr 0 $ const = \(a :: _) _ -> _rhs a otherwise = _rhs True (&) = \(a :: _) (b :: _) -> _rhs (b a) ($) = _rhs \(a :: _) (b :: _) -> a b (.) = _rhs \(a :: _) (b :: _) (c :: _) -> a (b c) uncurry = \(a :: _) (b :: _) -> hlistConsCase _ (\(c :: _) (d :: _) -> hlistConsCase _ (\(e :: _) (f :: _) -> hlistNilCase _ (_rhs (a c e)) f) d) b (***) = \(a :: _) (b :: _) (c :: _) -> hlistConsCase _ (\(d :: _) (e :: _) -> hlistConsCase _ (\(f :: _) (g :: _) -> hlistNilCase _ (_rhs (HCons (a d) (HCons (b f) HNil))) g) e) c pi = _rhs 3.141592653589793 zip = (\(a :: _) (b :: _) -> case'List (\_ -> _) (_rhs []) (\(c :: _) (d :: _) -> case'List (\_ -> _) (_rhs []) (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip d f)) b) a) :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])] unzip = (\(a :: _) -> case'List (\_ -> _) (_rhs (HCons [] (HCons [] HNil))) (\(b :: _) (c :: _) -> hlistConsCase _ (\(d :: _) (e :: _) -> hlistConsCase _ (\(f :: _) (g :: _) -> hlistNilCase _ (_rhs \(h := _rhs (unzip c)) (i := _rhs ((\(k :: _) -> hlistConsCase _ (\_ (l :: _) -> hlistConsCase _ (\(m :: _) (n :: _) -> hlistNilCase _ m n) l) k) h)) (j := _rhs ((\(o :: _) -> hlistConsCase _ (\(p :: _) (q :: _) -> hlistConsCase _ (\_ (r :: _) -> hlistNilCase _ p r) q) o) h)) -> HCons (d : j) (HCons (f : i) HNil)) g) e) b) a) :: forall (s :: _) (t :: _) . [HList (s : t : '[])] -> HList ([s] : [t] : '[]) filter = \(a :: _) (b :: _) -> case'List (\_ -> _) (_rhs []) (\(c :: _) (d :: _) -> _rhs ((\(e :: _) -> case'Bool (\_ -> _) (filter a d) (c : filter a d) e) (a c))) b tail = (\(a :: _) -> case'List (\_ -> _) (_rhs undefined) (\_ (b :: _) -> _rhs b) a) :: forall (c :: _) . [c] -> [c] pairs = (\(a :: _) -> _rhs (zip a (tail a))) :: forall (b :: _) . [b] -> [HList (b : b : '[])] foldl' = \(a :: _) (b :: _) (c :: _) -> case'List (\_ -> _) (_rhs b) (\(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e)) c foldr1 = \(a :: _) (b :: _) -> case'List (\_ -> _) (_rhs undefined) (\(c :: _) (d :: _) -> _rhs (foldr a c d)) b split = \(a :: _) -> case'List (\_ -> _) (_rhs (HCons [] (HCons [] HNil))) (\(b :: _) (c :: _) -> _rhs \(d := _rhs (split c)) (e := _rhs ((\(g :: _) -> hlistConsCase _ (\_ (h :: _) -> hlistConsCase _ (\(i :: _) (j :: _) -> hlistNilCase _ i j) h) g) d)) (f := _rhs ((\(k :: _) -> hlistConsCase _ (\(l :: _) (m :: _) -> hlistConsCase _ (\_ (n :: _) -> hlistNilCase _ l n) m) k) d)) -> HCons (b : e) (HCons f HNil)) a mergeBy = \(a :: _) (b :: _) (c :: _) -> case'List (\_ -> _) (_rhs c) (\(d :: _) (e :: _) -> case'List (\_ -> _) (_rhs b) (\(f :: _) (g :: _) -> _rhs ((\(h :: _) -> case'Ordering (\_ -> _) (d : mergeBy a e (f : g)) (f : mergeBy a (d : e) g) (f : mergeBy a (d : e) g) h) (a d f))) c) b sortBy = \(a :: _) (b :: _) -> case'List (\_ -> _) (_rhs []) (\(c :: _) (d :: _) -> case'List (\_ -> _) (_rhs (c : [])) (\_ _ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b)))) d) b iterate = (\(a :: _) (b :: _) -> _rhs (b : iterate a (a b))) :: forall (c :: _) . (c -> c) -> c -> [c] fst = \(a :: _) -> hlistConsCase _ (\(b :: _) (c :: _) -> hlistConsCase _ (\_ (d :: _) -> hlistNilCase _ (_rhs b) d) c) a snd = \(a :: _) -> hlistConsCase _ (\_ (b :: _) -> hlistConsCase _ (\(c :: _) (d :: _) -> hlistNilCase _ (_rhs c) d) b) a (|||) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs b) (_rhs True) a infixr 2 ||| (&&&) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs False) (_rhs b) a infixr 3 &&& data RecItem :: Type where RecItem :: String -> Type -> RecItem recItemType = \(a :: _) -> case'RecItem (\_ -> _) (\_ (b :: _) -> _rhs b) a data RecordC (_ :: [RecItem]) :: Type where RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a isKeyC = \(a :: _) (b :: _) (c :: _) -> case'List (\_ -> _) (_rhs ('Empty "")) (\(d :: _) (e :: _) -> case'RecItem (\_ -> _) (\(f :: _) (g :: _) -> _rhs (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e))) d) c fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) _ -> a) sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a) project = (\ @(a :: _) @(b :: _) (c :: _) @_ (d :: _) -> case'List (\_ -> _) (_rhs undefined) (\(e :: _) (f :: _) -> case'RecItem (\_ -> _) (\(g :: _) _ -> case'RecordC (\_ -> _) (\(h :: _) -> case'Bool (\_ -> _) (_rhs (project @a @f c @(undefined @(isKeyC c a f)) (RecordCons (sndTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))))) (_rhs (fstTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))) (c == g)) d) e) b) :: forall (i :: _) (j :: [RecItem]) . forall (k :: String) -> isKeyC k i j => RecordC j -> i rgb = \(a :: _) (b :: _) (c :: _) -> _rhs (V4 a b c 1.0) black = _rhs (rgb 0.0 0.0 0.0) gray = _rhs (rgb 0.5 0.5 0.5) silver = _rhs (rgb 0.75 0.75 0.75) white = _rhs (rgb 1.0 1.0 1.0) maroon = _rhs (rgb 0.5 0.0 0.0) red = _rhs (rgb 1.0 0.0 0.0) olive = _rhs (rgb 0.5 0.5 0.0) yellow = _rhs (rgb 1.0 1.0 0.0) green = _rhs (rgb 0.0 0.5 0.0) lime = _rhs (rgb 0.0 1.0 0.0) teal = _rhs (rgb 0.0 0.5 0.5) aqua = _rhs (rgb 0.0 1.0 1.0) navy = _rhs (rgb 0.0 0.0 0.5) blue = _rhs (rgb 0.0 0.0 1.0) purple = _rhs (rgb 0.5 0.0 0.5) fuchsia = _rhs (rgb 1.0 0.0 1.0) colorImage1 = _rhs (ColorImage @(fromInt 1)) colorImage2 = _rhs (ColorImage @(fromInt 2)) depthImage1 = _rhs (DepthImage @(fromInt 1)) v3FToV4F = (\(a :: _) -> _rhs (V4 (swizzscalar a Sx) (swizzscalar a Sy) (swizzscalar a Sz) (fromInt 1))) :: Vec (fromInt 3) Float -> Vec (fromInt 4) Float radians = _rhs PrimRadians degrees = _rhs PrimDegrees sin = _rhs PrimSin cos = _rhs PrimCos tan = _rhs PrimTan sinh = _rhs PrimSinH cosh = _rhs PrimCosH tanh = _rhs PrimTanH asin = _rhs PrimASin asinh = _rhs PrimASinH acos = _rhs PrimACos acosh = _rhs PrimACosH atan = _rhs PrimATan atanh = _rhs PrimATanH atan2 = _rhs PrimATan2 pow = _rhs PrimPow exp = _rhs PrimExp log = _rhs PrimLog exp2 = _rhs PrimExp2 log2 = _rhs PrimLog2 sqrt = _rhs PrimSqrt inversesqrt = _rhs PrimInvSqrt abs = _rhs PrimAbs sign = _rhs PrimSign floor = _rhs PrimFloor trunc = _rhs PrimTrunc round = _rhs PrimRound roundEven = _rhs PrimRoundEven ceil = _rhs PrimCeil fract = _rhs PrimFract mod = _rhs PrimMod min = _rhs PrimMin max = _rhs PrimMax modF = _rhs PrimModF clamp = _rhs PrimClamp clampS = _rhs PrimClampS mix = _rhs PrimMix mixS = _rhs PrimMixS mixB = _rhs PrimMixB step = _rhs PrimStep stepS = _rhs PrimStepS smoothstep = _rhs PrimSmoothStep smoothstepS = _rhs PrimSmoothStepS isNan = _rhs PrimIsNan isInf = _rhs PrimIsInf dFdx = _rhs PrimDFdx dFdy = _rhs PrimDFdy fWidth = _rhs PrimFWidth noise1 = _rhs PrimNoise1 noise2 = _rhs PrimNoise2 noise3 = _rhs PrimNoise3 noise4 = _rhs PrimNoise4 length = _rhs PrimLength distance = _rhs PrimDistance dot = _rhs PrimDot cross = _rhs PrimCross normalize = _rhs PrimNormalize faceforward = _rhs PrimFaceForward reflect = _rhs PrimReflect refract = _rhs PrimRefract transpose = _rhs PrimTranspose det = _rhs PrimDeterminant inv = _rhs PrimInverse outer = _rhs PrimOuterProduct bAnd = _rhs PrimBAnd bOr = _rhs PrimBOr bXor = _rhs PrimBXor bNot = _rhs PrimBNot bAndS = _rhs PrimBAndS bOrS = _rhs PrimBOrS bXorS = _rhs PrimBXorS shiftL = _rhs PrimBShiftL shiftR = _rhs PrimBShiftR shiftLS = _rhs PrimBShiftLS shiftRS = _rhs PrimBShiftRS floatBitsToInt = _rhs PrimFloatBitsToInt floatBitsToWord = _rhs PrimFloatBitsToUInt intBitsToFloat = _rhs PrimIntBitsToFloat wordBitsToFloat = _rhs PrimUIntBitsToFloat infixl 7 * infixl 7 / infixl 7 % infixl 6 + infixl 6 - infix 4 /= infix 4 < infix 4 <= infix 4 >= infix 4 > infixr 3 && infixr 2 || infix 7 dot infix 7 cross infixr 7 *. infixl 7 .* infixl 7 .*. (+) = \(a :: _) (b :: _) -> _rhs (PrimAdd a b) (-) = \(a :: _) (b :: _) -> _rhs (PrimSub a b) (*) = \(a :: _) (b :: _) -> _rhs (PrimMul a b) (/) = \(a :: _) (b :: _) -> _rhs (PrimDiv a b) (%) = \(a :: _) (b :: _) -> _rhs (PrimMod a b) neg = \(a :: _) -> _rhs (PrimNeg a) (/=) = \(a :: _) (b :: _) -> _rhs (PrimNotEqual a b) (<) = \(a :: _) (b :: _) -> _rhs (PrimLessThan a b) (<=) = \(a :: _) (b :: _) -> _rhs (PrimLessThanEqual a b) (>=) = \(a :: _) (b :: _) -> _rhs (PrimGreaterThanEqual a b) (>) = \(a :: _) (b :: _) -> _rhs (PrimGreaterThan a b) (&&) = \(a :: _) (b :: _) -> _rhs (PrimAnd a b) (||) = \(a :: _) (b :: _) -> _rhs (PrimOr a b) xor = _rhs PrimXor not = \(a :: _) -> _rhs (PrimNot a) any = \(a :: _) -> _rhs (PrimAny a) all = \(a :: _) -> _rhs (PrimAll a) (.*.) = \(a :: _) (b :: _) -> _rhs (PrimMulMatMat a b) (*.) = \(a :: _) (b :: _) -> _rhs (PrimMulMatVec a b) (.*) = \(a :: _) (b :: _) -> _rhs (PrimMulVecMat a b) infixl 7 *! infixl 7 /! infixl 7 %! infixl 6 +! infixl 6 -! (+!) = \(a :: _) (b :: _) -> _rhs (PrimAddS a b) (-!) = \(a :: _) (b :: _) -> _rhs (PrimSubS a b) (*!) = \(a :: _) (b :: _) -> _rhs (PrimMulS a b) (/!) = \(a :: _) (b :: _) -> _rhs (PrimDivS a b) (%!) = \(a :: _) (b :: _) -> _rhs (PrimModS a b) perspective = (\(a :: _) (b :: _) (c :: _) (d :: _) -> _rhs \(e := _rhs (a * tan (c / fromInt 2))) (f := _rhs (fromInt 0 - e)) (g := _rhs (d * e)) (h := _rhs (fromInt 0 - g)) -> M44F (V4 (fromInt 2 * a / (g - h)) (fromInt 0) (fromInt 0) (fromInt 0)) (V4 (fromInt 0) (fromInt 2 * a / (e - f)) (fromInt 0) (fromInt 0)) (V4 ((g + h) / (g - h)) ((e + f) / (e - f)) (fromInt 0 - (b + a) / (b - a)) (fromInt 0 - fromInt 1)) (V4 (fromInt 0) (fromInt 0) (fromInt 0 - fromInt 2 * b * a / (b - a)) (fromInt 0))) :: Float -> Float -> Float -> Float -> Mat (fromInt 4) (fromInt 4) Float rotMatrixZ = \(a :: _) -> _rhs \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F (V4 b c (fromInt 0) (fromInt 0)) (V4 (fromInt 0 - c) b (fromInt 0) (fromInt 0)) (V4 (fromInt 0) (fromInt 0) (fromInt 1) (fromInt 0)) (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)) rotMatrixY = \(a :: _) -> _rhs \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F (V4 b (fromInt 0) (fromInt 0 - c) (fromInt 0)) (V4 (fromInt 0) (fromInt 1) (fromInt 0) (fromInt 0)) (V4 c (fromInt 0) b (fromInt 0)) (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)) rotMatrixX = \(a :: _) -> _rhs \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F (V4 (fromInt 1) (fromInt 0) (fromInt 0) (fromInt 0)) (V4 (fromInt 0) b c (fromInt 0)) (V4 (fromInt 0) (fromInt 0 - c) b (fromInt 0)) (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)) rotationEuler = \(a :: _) (b :: _) (c :: _) -> _rhs (rotMatrixY a .*. rotMatrixX b .*. rotMatrixZ c) translateBefore4 = (\(a :: _) -> _rhs \(b := _rhs (V4 (fromInt 1) (fromInt 0) (fromInt 0) (fromInt 0))) (c := _rhs (V4 (fromInt 0) (fromInt 1) (fromInt 0) (fromInt 0))) (d := _rhs (V4 (fromInt 0) (fromInt 0) (fromInt 1) (fromInt 0))) (e := _rhs (V4 (swizzscalar a Sx) (swizzscalar a Sy) (swizzscalar a Sz) (fromInt 1))) -> M44F b c d e) :: Vec (fromInt 3) Float -> Mat (fromInt 4) (fromInt 4) Float lookat = (\(a :: _) (b :: _) (c :: _) -> _rhs \(d := \(i :: _) -> _rhs (V4 (swizzscalar i Sx) (swizzscalar i Sy) (swizzscalar i Sz) (fromInt 0))) (e := _rhs (normalize $ a - b)) (f := _rhs (normalize $ c `cross` e)) (g := _rhs (e `cross` f)) (h := _rhs (transpose $ M44F (d f) (d g) (d e) (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)))) -> h .*. translateBefore4 (neg a)) :: Vec (fromInt 3) Float -> Vec (fromInt 3) Float -> Vec (fromInt 3) Float -> Mat (fromInt 4) (fromInt 4) Float scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0) fromTo = (\(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs (a : fromTo (a + fromInt 1) b)) (_rhs []) (a > b)) :: Float -> Float -> [Float] (!!) = (\(a :: _) (b :: _) -> case'List (\_ -> _) (_rhs undefined) (\(c :: _) (d :: _) -> case'Bool (\_ -> _) (_rhs (d !! (b - fromInt 1))) (_rhs c) (fromInt 0 == b)) a) :: forall (e :: _) . [e] -> Int -> e main is not found ------------ trace const :: forall a b . a -> b -> a otherwise :: Bool (&) :: forall a b . a -> (a -> b) -> b ($) :: forall a b . (a -> b) -> a -> b (.) :: forall a b c . (b -> c) -> (a -> b) -> a -> c uncurry :: forall a b c . (a -> c -> b) -> (a, c) -> b (***) :: forall a b c d . (a -> c) -> (b -> d) -> (a, b) -> (c, d) pi :: Float zip :: forall a b . [a] -> [b] -> [(a, b)] unzip :: forall a b . [(a, b)] -> ([a], [b]) filter :: forall a . (a -> Bool) -> [a] -> [a] tail :: forall a . [a] -> [a] pairs :: forall a . [a] -> [(a, a)] foldl' :: forall a b . (a -> b -> a) -> a -> [b] -> a foldr1 :: forall a . (a -> a -> a) -> [a] -> a split :: forall a . [a] -> ([a], [a]) mergeBy :: forall a . (a -> a -> Ordering) -> [a] -> [a] -> [a] sortBy :: forall a . (a -> a -> Ordering) -> [a] -> [a] iterate :: forall a . (a -> a) -> a -> [a] fst :: forall a b . (a, b) -> a snd :: forall a b . (a, b) -> b (|||) :: Bool -> Bool -> Bool (&&&) :: Bool -> Bool -> Bool 'RecItem :: Type RecItem :: String -> Type -> RecItem case'RecItem :: forall (a :: RecItem -> Type) -> (forall (b :: String) c -> a ('RecItem b c)) -> forall (d :: RecItem) -> a d match'RecItem :: forall (a :: Type -> Type) -> a RecItem -> forall b -> a b -> a b recItemType :: RecItem -> Type 'RecordC :: [RecItem] -> Type RecordCons :: forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a case'RecordC :: forall (a :: [RecItem]) . forall (b :: RecordC a -> Type) -> (forall (c :: HList (map RecItem Type recItemType a)) -> b ('RecordCons c)) -> forall (d :: RecordC a) -> b d match'RecordC :: forall (a :: Type -> Type) -> (forall (b :: [RecItem]) -> a (RecordC b)) -> forall c -> a c -> a c isKeyC :: String -> Type -> [RecItem] -> Type fstTup :: forall a (b :: [Type]) . HList (: a b) -> a sndTup :: forall a (b :: [Type]) . HList (: a b) -> HList b project :: forall a (b :: [RecItem]) . forall (c :: String) -> isKeyC c a b => RecordC b -> a rgb :: Float -> Float -> Float -> VecS Float 4 black :: VecS Float 4 gray :: VecS Float 4 silver :: VecS Float 4 white :: VecS Float 4 maroon :: VecS Float 4 red :: VecS Float 4 olive :: VecS Float 4 yellow :: VecS Float 4 green :: VecS Float 4 lime :: VecS Float 4 teal :: VecS Float 4 aqua :: VecS Float 4 navy :: VecS Float 4 blue :: VecS Float 4 purple :: VecS Float 4 fuchsia :: VecS Float 4 colorImage1 :: forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c) colorImage2 :: forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 2 ('Color c) depthImage1 :: Float -> Image 1 'Depth v3FToV4F :: Vec 3 Float -> VecS Float 4 radians :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a degrees :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a sin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a cos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a tan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a sinh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a cosh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a tanh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a asin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a asinh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a acos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a acosh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a atan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a atanh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a atan2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a pow :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a exp :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a log :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a exp2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a log2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a sqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a inversesqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a abs :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b sign :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b floor :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a trunc :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a round :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a roundEven :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a ceil :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a fract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a mod :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b min :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b max :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b modF :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> (a, a) clamp :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b clampS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> a -> b mix :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a mixS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float -> a mixB :: forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a step :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a stepS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> a -> a smoothstep :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a -> a smoothstepS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> Float -> a -> a isNan :: forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c isInf :: forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c dFdx :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a dFdy :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a fWidth :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a noise1 :: forall (a :: Nat) . VecScalar a Float -> Float noise2 :: forall (a :: Nat) . VecScalar a Float -> Vec 2 Float noise3 :: forall (a :: Nat) . VecScalar a Float -> Vec 3 Float noise4 :: forall (a :: Nat) . VecScalar a Float -> Vec 4 Float length :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> Float distance :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float dot :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float cross :: forall a . (a ~ VecS Float 3) => a -> a -> a normalize :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a faceforward :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a reflect :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a refract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a transpose :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c det :: forall (a :: Nat) b . Mat a a b -> Float inv :: forall (a :: Nat) b . Mat a a b -> Mat a a b outer :: forall (a :: Nat) b (c :: Nat) . Vec a b -> Vec c b -> Mat c a b bAnd :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b bOr :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b bXor :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b bNot :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b bAndS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b bOrS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b bXorS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b shiftL :: forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b shiftR :: forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b shiftLS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b shiftRS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b floatBitsToInt :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Int floatBitsToWord :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Word intBitsToFloat :: forall (a :: Nat) . VecScalar a Int -> VecScalar a Float wordBitsToFloat :: forall (a :: Nat) . VecScalar a Word -> VecScalar a Float (+) :: forall a . Num (MatVecScalarElem a) => a -> a -> a (-) :: forall a . Num (MatVecScalarElem a) => a -> a -> a (*) :: forall a . Num (MatVecScalarElem a) => a -> a -> a (/) :: forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a (%) :: forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a neg :: forall a . Signed (MatVecScalarElem a) => a -> a (/=) :: forall a . a -> a -> Bool (<) :: forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool (<=) :: forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool (>=) :: forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool (>) :: forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool (&&) :: Bool -> Bool -> Bool (||) :: Bool -> Bool -> Bool xor :: Bool -> Bool -> Bool not :: forall (a :: Nat) . VecScalar a Bool -> VecScalar a Bool any :: forall (a :: Nat) . VecScalar a Bool -> Bool all :: forall (a :: Nat) . VecScalar a Bool -> Bool (.*.) :: forall (a :: Nat) (b :: Nat) c (d :: Nat) . Mat a b c -> Mat b d c -> Mat a d c (*.) :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> VecS c b -> Vec a c (.*) :: forall (a :: Nat) b (c :: Nat) . VecS b a -> Mat a c b -> Vec c b (+!) :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a (-!) :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a (*!) :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a (/!) :: forall a (b :: Nat) . Num a => VecScalar b a -> a -> VecScalar b a (%!) :: forall a (b :: Nat) . Num a => VecScalar b a -> a -> VecScalar b a perspective :: Float -> Float -> Float -> Float -> Mat 4 4 Float rotMatrixZ :: VecScalar 1 Float -> Mat 4 4 Float rotMatrixY :: VecScalar 1 Float -> Mat 4 4 Float rotMatrixX :: VecScalar 1 Float -> Mat 4 4 Float rotationEuler :: Float -> Float -> Float -> Mat 4 4 Float translateBefore4 :: Vec 3 Float -> Mat 4 4 Float lookat :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 4 4 Float scale :: Float -> VecS Float 4 -> VecS Float 4 fromTo :: Float -> Float -> [Float] (!!) :: forall a . [a] -> Int -> a ------------ tooltips testdata/Prelude.lc 16:1-16:6 forall a b . a -> b -> a testdata/Prelude.lc 16:13-16:14 _d testdata/Prelude.lc 18:1-18:10 Bool testdata/Prelude.lc 18:13-18:17 Bool testdata/Prelude.lc 20:3-20:4 forall a b . a -> (a -> b) -> b testdata/Prelude.lc 20:9-20:10 _b testdata/Prelude.lc 20:11-20:12 _g testdata/Prelude.lc 22:2-22:3 forall a b . (a -> b) -> a -> b testdata/Prelude.lc 22:15-22:16 _d testdata/Prelude.lc 22:17-22:18 _e testdata/Prelude.lc 23:2-23:3 forall a b c . (b -> c) -> (a -> b) -> a -> c testdata/Prelude.lc 23:17-23:18 _f testdata/Prelude.lc 23:20-23:21 _g testdata/Prelude.lc 23:22-23:23 _h testdata/Prelude.lc 25:1-25:8 forall a b c . (a -> c -> b) -> (a, c) -> b testdata/Prelude.lc 25:20-25:21 _o testdata/Prelude.lc 25:20-25:25 _c | _d testdata/Prelude.lc 25:22-25:23 _n testdata/Prelude.lc 25:24-25:25 _j testdata/Prelude.lc 27:2-27:5 forall a b c d . (a -> c) -> (b -> d) -> (a, b) -> (c, d) testdata/Prelude.lc 27:20-27:30 (_b, _a) | (_b, _a) | (_b, _a) testdata/Prelude.lc 27:21-27:22 _s testdata/Prelude.lc 27:23-27:24 _p testdata/Prelude.lc 27:26-27:27 _r testdata/Prelude.lc 27:26-27:29 ((_a)) testdata/Prelude.lc 27:28-27:29 _l testdata/Prelude.lc 29:1-29:3 Float testdata/Prelude.lc 29:6-29:23 Float testdata/Prelude.lc 31:8-31:11 Type testdata/Prelude.lc 31:8-31:29 Type | Type testdata/Prelude.lc 31:8-34:39 forall a b . [a] -> [b] -> [(a, b)] testdata/Prelude.lc 31:9-31:10 _d testdata/Prelude.lc 31:15-31:18 Type testdata/Prelude.lc 31:15-31:29 Type testdata/Prelude.lc 31:16-31:17 _c testdata/Prelude.lc 31:22-31:29 Type | Type testdata/Prelude.lc 31:23-31:28 Type testdata/Prelude.lc 31:24-31:25 Type testdata/Prelude.lc 31:24-31:27 [Type] testdata/Prelude.lc 31:26-31:27 Type | [Type] testdata/Prelude.lc 32:1-32:4 forall a b . [a] -> [b] -> [(a, b)] testdata/Prelude.lc 32:22-32:24 forall a . [a] testdata/Prelude.lc 32:22-34:39 [_a] -> [(_a, _d)] | [(_d, _c)] testdata/Prelude.lc 33:22-33:24 forall a . [a] testdata/Prelude.lc 33:22-34:39 [_a] -> [(_e, _a)] | [(_c, _f)] testdata/Prelude.lc 34:23-34:28 (_h, _d) testdata/Prelude.lc 34:23-34:29 [(_h, _d)] -> [(_h, _d)] testdata/Prelude.lc 34:23-34:39 [(_g, _c)] testdata/Prelude.lc 34:24-34:25 _k testdata/Prelude.lc 34:26-34:27 _g | ((_d)) testdata/Prelude.lc 34:28-34:29 forall a . a -> [a] -> [a] testdata/Prelude.lc 34:30-34:33 forall a b . [a] -> [b] -> [(a, b)] testdata/Prelude.lc 34:30-34:36 [_a] -> [(_h, _a)] testdata/Prelude.lc 34:30-34:39 [(_g, _c)] testdata/Prelude.lc 34:34-34:36 [_i] testdata/Prelude.lc 34:37-34:39 [_c] testdata/Prelude.lc 36:10-36:17 Type testdata/Prelude.lc 36:10-36:30 Type | Type testdata/Prelude.lc 36:10-39:27 forall a b . [(a, b)] -> ([a], [b]) testdata/Prelude.lc 36:11-36:16 Type testdata/Prelude.lc 36:12-36:13 _e testdata/Prelude.lc 36:12-36:15 [Type] testdata/Prelude.lc 36:14-36:15 _c | [Type] testdata/Prelude.lc 36:21-36:30 Type | Type testdata/Prelude.lc 36:22-36:25 Type testdata/Prelude.lc 36:22-36:29 [Type] testdata/Prelude.lc 36:23-36:24 Type testdata/Prelude.lc 36:26-36:29 Type | [Type] testdata/Prelude.lc 36:27-36:28 Type testdata/Prelude.lc 37:1-37:6 forall a b . [(a, b)] -> ([a], [b]) testdata/Prelude.lc 37:12-37:19 ([_b], [_a]) testdata/Prelude.lc 37:12-39:27 [(_b, _a)] -> ([_b], [_a]) | ([_c], [_b]) testdata/Prelude.lc 37:13-37:15 forall a . [a] testdata/Prelude.lc 37:16-37:18 forall a . [a] | (([_a])) testdata/Prelude.lc 38:20-38:31 ([_n], [_i]) testdata/Prelude.lc 38:20-39:27 ([_h], [_c]) | ([_d], [_a]) | ([_d], [_c]) testdata/Prelude.lc 38:21-38:22 _s testdata/Prelude.lc 38:21-38:23 [_r] -> [_r] testdata/Prelude.lc 38:21-38:25 [_p] testdata/Prelude.lc 38:22-38:23 forall a . a -> [a] -> [a] testdata/Prelude.lc 38:23-38:25 [_f] testdata/Prelude.lc 38:26-38:27 _n testdata/Prelude.lc 38:26-38:28 [_m] -> [_m] testdata/Prelude.lc 38:26-38:30 [_k] | (([_i])) testdata/Prelude.lc 38:27-38:28 forall a . a -> [a] -> [a] testdata/Prelude.lc 38:28-38:30 [_f] testdata/Prelude.lc 39:10-39:12 _k | _h | _d testdata/Prelude.lc 39:10-39:15 ([_e], [_d]) | ([_f], [_e]) testdata/Prelude.lc 39:13-39:15 _f | _c | _c testdata/Prelude.lc 39:19-39:24 forall a b . [(a, b)] -> ([a], [b]) testdata/Prelude.lc 39:19-39:27 ([_b], [_a]) testdata/Prelude.lc 39:25-39:27 [_r] testdata/Prelude.lc 41:1-41:7 forall a . (a -> Bool) -> [a] -> [a] testdata/Prelude.lc 41:21-41:23 forall a . [a] testdata/Prelude.lc 41:21-44:49 [_a] -> [_a] testdata/Prelude.lc 42:22-44:49 [_c] testdata/Prelude.lc 42:27-42:31 _g testdata/Prelude.lc 42:32-42:33 _f testdata/Prelude.lc 43:32-44:49 Bool -> [_f] testdata/Prelude.lc 43:33-43:34 _h testdata/Prelude.lc 43:33-43:36 [_g] -> [_g] testdata/Prelude.lc 43:33-43:51 [_f] testdata/Prelude.lc 43:35-43:36 forall a . a -> [a] -> [a] testdata/Prelude.lc 43:37-43:43 _j -> [_f] -> [_f] testdata/Prelude.lc 43:37-43:48 [_f] -> [_f] testdata/Prelude.lc 43:37-43:51 [_f] testdata/Prelude.lc 43:44-43:48 _j testdata/Prelude.lc 43:49-43:51 [_f] testdata/Prelude.lc 44:34-44:40 _m testdata/Prelude.lc 44:41-44:45 _n testdata/Prelude.lc 44:46-44:48 [_k] testdata/Prelude.lc 49:9-49:12 Type testdata/Prelude.lc 49:9-49:19 Type testdata/Prelude.lc 49:10-49:11 _b testdata/Prelude.lc 49:16-49:19 Type | Type testdata/Prelude.lc 49:17-49:18 Type testdata/Prelude.lc 50:1-50:5 forall a . [a] -> [a] testdata/Prelude.lc 50:16-50:18 [_d] | [_b] testdata/Prelude.lc 52:10-52:13 Type testdata/Prelude.lc 52:10-52:25 Type testdata/Prelude.lc 52:11-52:12 _b testdata/Prelude.lc 52:17-52:25 Type | Type testdata/Prelude.lc 52:18-52:24 Type testdata/Prelude.lc 52:19-52:20 Type testdata/Prelude.lc 52:19-52:23 [Type] testdata/Prelude.lc 52:22-52:23 Type | [Type] testdata/Prelude.lc 53:1-53:6 forall a . [a] -> [(a, a)] testdata/Prelude.lc 53:11-53:14 forall a b . [a] -> [b] -> [(a, b)] testdata/Prelude.lc 53:11-53:16 [_a] -> [(_c, _a)] testdata/Prelude.lc 53:11-53:25 [(_b, _b)] testdata/Prelude.lc 53:15-53:16 [_d] testdata/Prelude.lc 53:18-53:22 forall a . [a] -> [a] testdata/Prelude.lc 53:18-53:24 [_b] testdata/Prelude.lc 53:23-53:24 [_c] testdata/Prelude.lc 55:1-55:7 forall a b . (a -> b -> a) -> a -> [b] -> a testdata/Prelude.lc 55:17-55:18 _f testdata/Prelude.lc 55:17-56:41 [_b] -> _f testdata/Prelude.lc 56:22-56:28 _k testdata/Prelude.lc 56:29-56:30 _l testdata/Prelude.lc 56:32-56:33 _m testdata/Prelude.lc 56:34-56:35 _n testdata/Prelude.lc 56:36-56:37 _k testdata/Prelude.lc 56:39-56:41 [_h] testdata/Prelude.lc 58:1-58:7 forall a . (a -> a -> a) -> [a] -> a testdata/Prelude.lc 58:20-58:25 forall a b . (b -> a -> a) -> a -> [b] -> a testdata/Prelude.lc 58:20-58:27 _b -> [_a] -> _b testdata/Prelude.lc 58:20-58:29 [_a] -> _e testdata/Prelude.lc 58:20-58:32 _c testdata/Prelude.lc 58:26-58:27 _j testdata/Prelude.lc 58:28-58:29 _f testdata/Prelude.lc 58:30-58:32 [_d] testdata/Prelude.lc 60:1-60:6 forall a . [a] -> ([a], [a]) testdata/Prelude.lc 60:12-60:20 ([_b], [_a]) testdata/Prelude.lc 60:12-61:55 [_b] -> ([_b], [_a]) testdata/Prelude.lc 60:13-60:15 forall a . [a] testdata/Prelude.lc 60:17-60:19 forall a . [a] | (([_a])) testdata/Prelude.lc 61:17-61:28 ([_i], _c) testdata/Prelude.lc 61:18-61:19 _m testdata/Prelude.lc 61:18-61:20 [_l] -> [_l] testdata/Prelude.lc 61:18-61:23 [_j] testdata/Prelude.lc 61:19-61:20 forall a . a -> [a] -> [a] testdata/Prelude.lc 61:21-61:23 _d testdata/Prelude.lc 61:25-61:27 _f | ((_c)) testdata/Prelude.lc 61:37-61:39 _k | _h | _d testdata/Prelude.lc 61:37-61:43 _d | (_e, _d) testdata/Prelude.lc 61:41-61:43 _f | _c | _c testdata/Prelude.lc 61:47-61:52 _i testdata/Prelude.lc 61:53-61:55 [_h] testdata/Prelude.lc 63:1-63:8 forall a . (a -> a -> Ordering) -> [a] -> [a] -> [a] testdata/Prelude.lc 63:27-65:32 [_e] testdata/Prelude.lc 63:27-67:21 [_c] -> [_c] | [_c] testdata/Prelude.lc 63:32-63:33 _j testdata/Prelude.lc 63:34-63:35 _h testdata/Prelude.lc 63:36-63:37 _i testdata/Prelude.lc 64:11-64:12 _j testdata/Prelude.lc 64:11-64:13 [_i] -> [_i] testdata/Prelude.lc 64:11-64:33 [_h] testdata/Prelude.lc 64:11-65:32 [_g] -> Ordering -> [_g] testdata/Prelude.lc 64:12-64:13 forall a . a -> [a] -> [a] testdata/Prelude.lc 64:14-64:21 _p testdata/Prelude.lc 64:22-64:23 _q testdata/Prelude.lc 64:24-64:26 [_l] testdata/Prelude.lc 64:28-64:29 _j testdata/Prelude.lc 64:28-64:30 [_i] -> [_i] testdata/Prelude.lc 64:28-64:32 [_i] testdata/Prelude.lc 64:29-64:30 forall a . a -> [a] -> [a] testdata/Prelude.lc 64:30-64:32 [_i] testdata/Prelude.lc 65:10-65:11 _f | _h testdata/Prelude.lc 65:10-65:12 [_e] -> [_e] | [_g] -> [_g] testdata/Prelude.lc 65:10-65:32 [_g] | [_g] testdata/Prelude.lc 65:11-65:12 forall a . a -> [a] -> [a] | forall a . a -> [a] -> [a] testdata/Prelude.lc 65:13-65:20 _m -> [_g] -> [_g] -> [_g] | _m -> [_g] -> [_g] -> [_g] testdata/Prelude.lc 65:13-65:22 [_g] -> [_g] -> [_g] | [_g] -> [_g] -> [_g] testdata/Prelude.lc 65:13-65:29 [_g] -> [_g] | [_g] -> [_g] testdata/Prelude.lc 65:13-65:32 [_g] | [_g] testdata/Prelude.lc 65:21-65:22 _m | _m testdata/Prelude.lc 65:24-65:25 _h | _h testdata/Prelude.lc 65:24-65:26 [_g] -> [_g] | [_g] -> [_g] testdata/Prelude.lc 65:24-65:28 [_g] | [_g] testdata/Prelude.lc 65:25-65:26 forall a . a -> [a] -> [a] | forall a . a -> [a] -> [a] testdata/Prelude.lc 65:26-65:28 [_g] | [_g] testdata/Prelude.lc 65:30-65:32 [_g] | [_g] testdata/Prelude.lc 66:19-66:21 _d testdata/Prelude.lc 67:19-67:21 _i testdata/Prelude.lc 69:1-69:7 forall a . (a -> a -> Ordering) -> [a] -> [a] testdata/Prelude.lc 69:15-69:17 forall a . [a] testdata/Prelude.lc 69:15-71:71 [_b] -> [_b] testdata/Prelude.lc 70:16-70:19 [_e] testdata/Prelude.lc 70:16-71:71 [_b] -> [_f] | [_d] testdata/Prelude.lc 70:17-70:18 _g testdata/Prelude.lc 71:15-71:22 forall a b c . (a -> c -> b) -> (a, c) -> b testdata/Prelude.lc 71:15-71:34 ([_a], [_a]) -> [_a] testdata/Prelude.lc 71:15-71:71 [_h] testdata/Prelude.lc 71:24-71:31 forall a . (a -> a -> Ordering) -> [a] -> [a] -> [a] testdata/Prelude.lc 71:24-71:33 [_a] -> [_a] -> [_a] testdata/Prelude.lc 71:32-71:33 _o testdata/Prelude.lc 71:36-71:70 ([_h], [_h]) testdata/Prelude.lc 71:37-71:43 _p testdata/Prelude.lc 71:37-71:49 (_c -> _a) -> (_d, _c) -> (_b, _a) testdata/Prelude.lc 71:37-71:58 (_b, _b) -> (_a, _a) testdata/Prelude.lc 71:44-71:45 _n -> _n -> Ordering testdata/Prelude.lc 71:46-71:49 forall a b c d . (a -> c) -> (b -> d) -> (a, b) -> (c, d) testdata/Prelude.lc 71:50-71:56 (_k -> _k -> Ordering) -> _d -> _b testdata/Prelude.lc 71:50-71:58 _b -> _a testdata/Prelude.lc 71:57-71:58 _i -> _i -> Ordering testdata/Prelude.lc 71:61-71:66 forall a . [a] -> ([a], [a]) testdata/Prelude.lc 71:61-71:69 ([_a], [_a]) testdata/Prelude.lc 71:67-71:69 _k testdata/Prelude.lc 73:12-73:32 Type testdata/Prelude.lc 73:12-74:35 forall a . (a -> a) -> a -> [a] testdata/Prelude.lc 73:13-73:14 _b testdata/Prelude.lc 73:18-73:19 Type | Type testdata/Prelude.lc 73:24-73:25 Type testdata/Prelude.lc 73:24-73:32 Type testdata/Prelude.lc 73:29-73:32 Type | Type testdata/Prelude.lc 73:30-73:31 Type testdata/Prelude.lc 74:1-74:8 forall a . (a -> a) -> a -> [a] testdata/Prelude.lc 74:16-74:17 _d testdata/Prelude.lc 74:16-74:19 [_c] -> [_c] testdata/Prelude.lc 74:16-74:35 [_c] testdata/Prelude.lc 74:18-74:19 forall a . a -> [a] -> [a] testdata/Prelude.lc 74:20-74:27 forall a . (a -> a) -> a -> [a] testdata/Prelude.lc 74:20-74:29 _c -> [_c] testdata/Prelude.lc 74:20-74:35 [_c] testdata/Prelude.lc 74:28-74:29 _d -> _d testdata/Prelude.lc 74:31-74:32 _c -> _c testdata/Prelude.lc 74:31-74:34 _c testdata/Prelude.lc 74:33-74:34 _c testdata/Prelude.lc 76:1-76:4 forall a b . (a, b) -> a testdata/Prelude.lc 76:14-76:15 _k | _h | _d testdata/Prelude.lc 77:1-77:4 forall a b . (a, b) -> b testdata/Prelude.lc 77:14-77:15 _f | _c | _c testdata/Prelude.lc 79:7-79:10 Bool -> Bool -> Bool testdata/Prelude.lc 79:15-79:16 _c testdata/Prelude.lc 79:15-80:18 Bool -> Bool testdata/Prelude.lc 80:14-80:18 Bool testdata/Prelude.lc 84:6-84:9 Bool -> Bool -> Bool testdata/Prelude.lc 84:14-84:15 _b testdata/Prelude.lc 84:14-85:20 Bool -> Bool testdata/Prelude.lc 85:15-85:20 Bool testdata/Prelude.lc 122:6-122:13 Type | Type | Type | Type | Type | Type testdata/Prelude.lc 122:6-122:23 Type testdata/Prelude.lc 122:6-122:35 Type testdata/Prelude.lc 122:16-122:23 String -> Type -> RecItem | RecItem | Type | Type | Type testdata/Prelude.lc 122:24-122:30 Type testdata/Prelude.lc 122:31-122:35 Type testdata/Prelude.lc 124:1-124:12 RecItem -> Type testdata/Prelude.lc 124:29-124:30 Type testdata/Prelude.lc 126:6-126:13 [RecItem] -> Type | [RecItem] -> Type | [RecItem] -> Type | [RecItem] -> Type | Type testdata/Prelude.lc 126:6-126:17 Type | Type testdata/Prelude.lc 126:6-127:17 Type | Type testdata/Prelude.lc 126:6-127:46 Type testdata/Prelude.lc 126:15-126:17 [RecItem] testdata/Prelude.lc 126:21-126:30 Type | Type | Type testdata/Prelude.lc 126:22-126:29 Type | Type | Type testdata/Prelude.lc 127:7-127:17 forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a | RecordC _c | Type | Type testdata/Prelude.lc 127:19-127:24 [Type] -> Type testdata/Prelude.lc 127:19-127:45 Type testdata/Prelude.lc 127:26-127:29 forall a b . (a -> b) -> [a] -> [b] testdata/Prelude.lc 127:26-127:41 [RecItem] -> [Type] testdata/Prelude.lc 127:26-127:44 [Type] testdata/Prelude.lc 127:30-127:41 RecItem -> Type testdata/Prelude.lc 127:42-127:44 [RecItem] testdata/Prelude.lc 129:1-129:7 String -> Type -> [RecItem] -> Type testdata/Prelude.lc 129:17-129:23 String -> Type testdata/Prelude.lc 129:17-129:26 Type testdata/Prelude.lc 129:17-130:75 [RecItem] -> Type testdata/Prelude.lc 129:24-129:26 String testdata/Prelude.lc 130:34-130:75 Type | Type testdata/Prelude.lc 130:37-130:38 _o testdata/Prelude.lc 130:37-130:41 _n -> Bool testdata/Prelude.lc 130:37-130:44 Bool testdata/Prelude.lc 130:37-130:56 Type -> Type testdata/Prelude.lc 130:39-130:41 forall a . Eq a => a -> a -> Bool testdata/Prelude.lc 130:42-130:44 String testdata/Prelude.lc 130:50-130:51 _l testdata/Prelude.lc 130:50-130:53 _k -> Type testdata/Prelude.lc 130:50-130:56 Type testdata/Prelude.lc 130:52-130:53 forall a . a -> a -> Type testdata/Prelude.lc 130:54-130:56 Type testdata/Prelude.lc 130:62-130:68 _k testdata/Prelude.lc 130:69-130:70 String testdata/Prelude.lc 130:71-130:72 Type testdata/Prelude.lc 130:73-130:75 [_i] testdata/Prelude.lc 132:1-132:7 forall a (b :: [Type]) . HList (: a b) -> a testdata/Prelude.lc 132:10-132:23 forall a (b :: [Type]) . forall c -> (a -> HList b -> c) -> HList (: a b) -> c testdata/Prelude.lc 132:10-132:25 (_c -> HList _b -> _a) -> HList (: _c _b) -> _a testdata/Prelude.lc 132:10-132:37 HList (: _b _a) -> _b testdata/Prelude.lc 132:35-132:36 _e testdata/Prelude.lc 133:1-133:7 forall a (b :: [Type]) . HList (: a b) -> HList b testdata/Prelude.lc 133:10-133:23 forall a (b :: [Type]) . forall c -> (a -> HList b -> c) -> HList (: a b) -> c testdata/Prelude.lc 133:10-133:25 (_c -> HList _b -> _a) -> HList (: _c _b) -> _a testdata/Prelude.lc 133:10-133:37 HList (: _b _a) -> HList _a testdata/Prelude.lc 133:35-133:36 HList _d testdata/Prelude.lc 136:12-138:181 forall a (b :: [RecItem]) . forall (c :: String) -> isKeyC c a b => RecordC b -> a testdata/Prelude.lc 136:28-136:37 Type testdata/Prelude.lc 136:28-136:97 Type testdata/Prelude.lc 136:29-136:36 Type testdata/Prelude.lc 136:41-136:97 Type testdata/Prelude.lc 136:54-136:60 Type testdata/Prelude.lc 136:65-136:71 String -> Type -> [RecItem] -> Type testdata/Prelude.lc 136:65-136:73 Type -> [RecItem] -> Type testdata/Prelude.lc 136:65-136:75 [RecItem] -> Type testdata/Prelude.lc 136:65-136:78 Type testdata/Prelude.lc 136:65-136:97 Type testdata/Prelude.lc 136:72-136:73 String testdata/Prelude.lc 136:74-136:75 _d testdata/Prelude.lc 136:76-136:78 [RecItem] testdata/Prelude.lc 136:82-136:89 [RecItem] -> Type testdata/Prelude.lc 136:82-136:92 Type testdata/Prelude.lc 136:82-136:97 Type testdata/Prelude.lc 136:90-136:92 [RecItem] testdata/Prelude.lc 136:96-136:97 Type | Type testdata/Prelude.lc 137:1-137:8 forall a (b :: [RecItem]) . forall (c :: String) -> isKeyC c a b => RecordC b -> a testdata/Prelude.lc 137:57-137:58 String testdata/Prelude.lc 137:57-137:61 String -> Bool testdata/Prelude.lc 137:57-137:64 Bool testdata/Prelude.lc 137:57-138:181 _m | _j | _g | _e testdata/Prelude.lc 137:59-137:61 forall a . Eq a => a -> a -> Bool testdata/Prelude.lc 137:62-137:64 String testdata/Prelude.lc 137:67-137:73 forall a (b :: [Type]) . HList (: a b) -> a testdata/Prelude.lc 137:67-137:129 _n testdata/Prelude.lc 137:67-138:181 Bool -> _n testdata/Prelude.lc 137:75-137:87 forall a b . a -> b testdata/Prelude.lc 137:75-137:90 forall a . _a -> a testdata/Prelude.lc 137:75-137:125 _a -> HList (: _q (map RecItem Type recItemType _j)) testdata/Prelude.lc 137:75-137:128 HList (: _n (map RecItem Type recItemType _g)) testdata/Prelude.lc 137:93-137:98 [Type] -> Type testdata/Prelude.lc 137:93-137:124 Type testdata/Prelude.lc 137:101-137:102 Type testdata/Prelude.lc 137:101-137:104 [Type] -> [Type] testdata/Prelude.lc 137:101-137:123 [Type] testdata/Prelude.lc 137:103-137:104 forall a . a -> [a] -> [a] testdata/Prelude.lc 137:105-137:108 forall a b . (a -> b) -> [a] -> [b] testdata/Prelude.lc 137:105-137:120 [RecItem] -> [Type] testdata/Prelude.lc 137:105-137:123 [Type] testdata/Prelude.lc 137:109-137:120 RecItem -> Type testdata/Prelude.lc 137:121-137:123 [RecItem] testdata/Prelude.lc 137:126-137:128 HList (map RecItem Type recItemType _d) testdata/Prelude.lc 138:57-138:64 forall a (b :: [RecItem]) . forall (c :: String) -> isKeyC c a b => RecordC b -> a testdata/Prelude.lc 138:57-138:67 forall (a :: [RecItem]) . forall (b :: String) -> isKeyC b _p a => RecordC a -> _p testdata/Prelude.lc 138:57-138:71 forall (a :: String) -> isKeyC a _o _h => RecordC _h -> _o testdata/Prelude.lc 138:57-138:73 isKeyC _m _o _h => RecordC _h -> _o testdata/Prelude.lc 138:57-138:103 RecordC _h -> _o testdata/Prelude.lc 138:57-138:181 _n testdata/Prelude.lc 138:66-138:67 Type testdata/Prelude.lc 138:69-138:71 [_k] testdata/Prelude.lc 138:72-138:73 String testdata/Prelude.lc 138:76-138:85 forall a . a testdata/Prelude.lc 138:76-138:102 isKeyC _m _o _h testdata/Prelude.lc 138:88-138:94 String -> Type -> [RecItem] -> Type testdata/Prelude.lc 138:88-138:96 Type -> [RecItem] -> Type testdata/Prelude.lc 138:88-138:98 [RecItem] -> Type testdata/Prelude.lc 138:88-138:101 Type testdata/Prelude.lc 138:95-138:96 String testdata/Prelude.lc 138:97-138:98 Type testdata/Prelude.lc 138:99-138:101 [RecItem] testdata/Prelude.lc 138:105-138:115 forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a testdata/Prelude.lc 138:105-138:180 RecordC _b testdata/Prelude.lc 138:117-138:123 forall a (b :: [Type]) . HList (: a b) -> HList b testdata/Prelude.lc 138:117-138:179 HList (map RecItem Type recItemType _h) testdata/Prelude.lc 138:125-138:137 forall a b . a -> b testdata/Prelude.lc 138:125-138:140 forall a . _a -> a testdata/Prelude.lc 138:125-138:175 _a -> HList (: _r (map RecItem Type recItemType _k)) testdata/Prelude.lc 138:125-138:178 HList (: _o (map RecItem Type recItemType _h)) testdata/Prelude.lc 138:143-138:148 [Type] -> Type testdata/Prelude.lc 138:143-138:174 Type testdata/Prelude.lc 138:151-138:152 Type testdata/Prelude.lc 138:151-138:154 [Type] -> [Type] testdata/Prelude.lc 138:151-138:173 [Type] testdata/Prelude.lc 138:153-138:154 forall a . a -> [a] -> [a] testdata/Prelude.lc 138:155-138:158 forall a b . (a -> b) -> [a] -> [b] testdata/Prelude.lc 138:155-138:170 [RecItem] -> [Type] testdata/Prelude.lc 138:155-138:173 [Type] testdata/Prelude.lc 138:159-138:170 RecItem -> Type testdata/Prelude.lc 138:171-138:173 [RecItem] testdata/Prelude.lc 138:176-138:178 HList (map RecItem Type recItemType _e) testdata/Prelude.lc 142:1-142:4 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 142:13-142:15 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 142:13-142:17 _f -> _f -> _f -> VecS _f 4 testdata/Prelude.lc 142:13-142:19 _e -> _e -> VecS _e 4 testdata/Prelude.lc 142:13-142:21 _d -> VecS _d 4 testdata/Prelude.lc 142:13-142:25 VecS Float 4 testdata/Prelude.lc 142:16-142:17 _g testdata/Prelude.lc 142:18-142:19 _d testdata/Prelude.lc 142:20-142:21 _b testdata/Prelude.lc 142:22-142:25 Float testdata/Prelude.lc 144:1-144:6 VecS Float 4 testdata/Prelude.lc 144:11-144:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 144:11-144:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 144:11-144:22 Float -> VecS Float 4 testdata/Prelude.lc 144:11-144:26 VecS Float 4 testdata/Prelude.lc 144:15-144:18 Float testdata/Prelude.lc 144:19-144:22 Float testdata/Prelude.lc 144:23-144:26 Float testdata/Prelude.lc 145:1-145:5 VecS Float 4 testdata/Prelude.lc 145:11-145:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 145:11-145:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 145:11-145:22 Float -> VecS Float 4 testdata/Prelude.lc 145:11-145:26 VecS Float 4 testdata/Prelude.lc 145:15-145:18 Float testdata/Prelude.lc 145:19-145:22 Float testdata/Prelude.lc 145:23-145:26 Float testdata/Prelude.lc 146:1-146:7 VecS Float 4 testdata/Prelude.lc 146:11-146:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 146:11-146:19 Float -> Float -> VecS Float 4 testdata/Prelude.lc 146:11-146:24 Float -> VecS Float 4 testdata/Prelude.lc 146:11-146:29 VecS Float 4 testdata/Prelude.lc 146:15-146:19 Float testdata/Prelude.lc 146:20-146:24 Float testdata/Prelude.lc 146:25-146:29 Float testdata/Prelude.lc 147:1-147:6 VecS Float 4 testdata/Prelude.lc 147:11-147:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 147:11-147:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 147:11-147:22 Float -> VecS Float 4 testdata/Prelude.lc 147:11-147:26 VecS Float 4 testdata/Prelude.lc 147:15-147:18 Float testdata/Prelude.lc 147:19-147:22 Float testdata/Prelude.lc 147:23-147:26 Float testdata/Prelude.lc 148:1-148:7 VecS Float 4 testdata/Prelude.lc 148:11-148:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 148:11-148:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 148:11-148:22 Float -> VecS Float 4 testdata/Prelude.lc 148:11-148:26 VecS Float 4 testdata/Prelude.lc 148:15-148:18 Float testdata/Prelude.lc 148:19-148:22 Float testdata/Prelude.lc 148:23-148:26 Float testdata/Prelude.lc 149:1-149:4 VecS Float 4 testdata/Prelude.lc 149:11-149:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 149:11-149:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 149:11-149:22 Float -> VecS Float 4 testdata/Prelude.lc 149:11-149:26 VecS Float 4 testdata/Prelude.lc 149:15-149:18 Float testdata/Prelude.lc 149:19-149:22 Float testdata/Prelude.lc 149:23-149:26 Float testdata/Prelude.lc 150:1-150:6 VecS Float 4 testdata/Prelude.lc 150:11-150:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 150:11-150:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 150:11-150:22 Float -> VecS Float 4 testdata/Prelude.lc 150:11-150:26 VecS Float 4 testdata/Prelude.lc 150:15-150:18 Float testdata/Prelude.lc 150:19-150:22 Float testdata/Prelude.lc 150:23-150:26 Float testdata/Prelude.lc 151:1-151:7 VecS Float 4 testdata/Prelude.lc 151:11-151:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 151:11-151:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 151:11-151:22 Float -> VecS Float 4 testdata/Prelude.lc 151:11-151:26 VecS Float 4 testdata/Prelude.lc 151:15-151:18 Float testdata/Prelude.lc 151:19-151:22 Float testdata/Prelude.lc 151:23-151:26 Float testdata/Prelude.lc 152:1-152:6 VecS Float 4 testdata/Prelude.lc 152:11-152:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 152:11-152:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 152:11-152:22 Float -> VecS Float 4 testdata/Prelude.lc 152:11-152:26 VecS Float 4 testdata/Prelude.lc 152:15-152:18 Float testdata/Prelude.lc 152:19-152:22 Float testdata/Prelude.lc 152:23-152:26 Float testdata/Prelude.lc 153:1-153:5 VecS Float 4 testdata/Prelude.lc 153:11-153:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 153:11-153:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 153:11-153:22 Float -> VecS Float 4 testdata/Prelude.lc 153:11-153:26 VecS Float 4 testdata/Prelude.lc 153:15-153:18 Float testdata/Prelude.lc 153:19-153:22 Float testdata/Prelude.lc 153:23-153:26 Float testdata/Prelude.lc 154:1-154:5 VecS Float 4 testdata/Prelude.lc 154:11-154:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 154:11-154:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 154:11-154:22 Float -> VecS Float 4 testdata/Prelude.lc 154:11-154:26 VecS Float 4 testdata/Prelude.lc 154:15-154:18 Float testdata/Prelude.lc 154:19-154:22 Float testdata/Prelude.lc 154:23-154:26 Float testdata/Prelude.lc 155:1-155:5 VecS Float 4 testdata/Prelude.lc 155:11-155:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 155:11-155:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 155:11-155:22 Float -> VecS Float 4 testdata/Prelude.lc 155:11-155:26 VecS Float 4 testdata/Prelude.lc 155:15-155:18 Float testdata/Prelude.lc 155:19-155:22 Float testdata/Prelude.lc 155:23-155:26 Float testdata/Prelude.lc 156:1-156:5 VecS Float 4 testdata/Prelude.lc 156:11-156:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 156:11-156:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 156:11-156:22 Float -> VecS Float 4 testdata/Prelude.lc 156:11-156:26 VecS Float 4 testdata/Prelude.lc 156:15-156:18 Float testdata/Prelude.lc 156:19-156:22 Float testdata/Prelude.lc 156:23-156:26 Float testdata/Prelude.lc 157:1-157:5 VecS Float 4 testdata/Prelude.lc 157:11-157:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 157:11-157:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 157:11-157:22 Float -> VecS Float 4 testdata/Prelude.lc 157:11-157:26 VecS Float 4 testdata/Prelude.lc 157:15-157:18 Float testdata/Prelude.lc 157:19-157:22 Float testdata/Prelude.lc 157:23-157:26 Float testdata/Prelude.lc 158:1-158:7 VecS Float 4 testdata/Prelude.lc 158:11-158:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 158:11-158:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 158:11-158:22 Float -> VecS Float 4 testdata/Prelude.lc 158:11-158:26 VecS Float 4 testdata/Prelude.lc 158:15-158:18 Float testdata/Prelude.lc 158:19-158:22 Float testdata/Prelude.lc 158:23-158:26 Float testdata/Prelude.lc 159:1-159:8 VecS Float 4 testdata/Prelude.lc 159:11-159:14 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 159:11-159:18 Float -> Float -> VecS Float 4 testdata/Prelude.lc 159:11-159:22 Float -> VecS Float 4 testdata/Prelude.lc 159:11-159:26 VecS Float 4 testdata/Prelude.lc 159:15-159:18 Float testdata/Prelude.lc 159:19-159:22 Float testdata/Prelude.lc 159:23-159:26 Float testdata/Prelude.lc 161:1-161:12 forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c) testdata/Prelude.lc 161:15-161:25 forall (a :: Nat) (b :: Nat) c d . (Num c, d ~ VecScalar b c) => d -> Image a ('Color d) testdata/Prelude.lc 161:15-161:28 forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c) testdata/Prelude.lc 161:27-161:28 _b testdata/Prelude.lc 162:1-162:12 forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 2 ('Color c) testdata/Prelude.lc 162:15-162:25 forall (a :: Nat) (b :: Nat) c d . (Num c, d ~ VecScalar b c) => d -> Image a ('Color d) testdata/Prelude.lc 162:15-162:28 forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 2 ('Color c) testdata/Prelude.lc 162:27-162:28 _b testdata/Prelude.lc 164:1-164:12 Float -> Image 1 'Depth testdata/Prelude.lc 164:15-164:25 forall (a :: Nat) . Float -> Image a 'Depth testdata/Prelude.lc 164:15-164:28 Float -> Image 1 'Depth testdata/Prelude.lc 164:27-164:28 _b testdata/Prelude.lc 166:13-166:16 Nat -> Type -> Type testdata/Prelude.lc 166:13-166:18 Type -> Type testdata/Prelude.lc 166:13-166:24 Type testdata/Prelude.lc 166:17-166:18 _b testdata/Prelude.lc 166:19-166:24 Type testdata/Prelude.lc 166:28-166:31 Nat -> Type -> Type testdata/Prelude.lc 166:28-166:33 Type -> Type testdata/Prelude.lc 166:28-166:39 Type | Type testdata/Prelude.lc 166:32-166:33 _b testdata/Prelude.lc 166:34-166:39 Type testdata/Prelude.lc 167:1-167:9 Vec 3 Float -> VecS Float 4 testdata/Prelude.lc 167:14-167:16 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 167:14-167:20 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 167:14-167:24 Float -> Float -> VecS Float 4 testdata/Prelude.lc 167:14-167:28 Float -> VecS Float 4 testdata/Prelude.lc 167:14-167:30 VecS Float 4 testdata/Prelude.lc 167:17-167:18 Vec 3 Float testdata/Prelude.lc 167:17-167:20 Float testdata/Prelude.lc 167:21-167:22 Vec 3 Float testdata/Prelude.lc 167:21-167:24 Float testdata/Prelude.lc 167:25-167:26 Vec 3 Float testdata/Prelude.lc 167:25-167:28 Float testdata/Prelude.lc 167:29-167:30 _b testdata/Prelude.lc 174:1-174:8 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 174:11-174:22 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 175:1-175:8 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 175:11-175:22 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 176:1-176:4 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 176:7-176:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 177:1-177:4 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 177:7-177:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 178:1-178:4 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 178:7-178:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 179:1-179:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 179:8-179:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 180:1-180:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 180:8-180:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 181:1-181:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 181:8-181:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 182:1-182:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 182:8-182:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 183:1-183:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 183:9-183:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 184:1-184:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 184:8-184:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 185:1-185:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 185:9-185:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 186:1-186:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 186:8-186:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 187:1-187:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 187:9-187:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 188:1-188:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Prelude.lc 188:9-188:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Prelude.lc 191:1-191:4 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Prelude.lc 191:7-191:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Prelude.lc 192:1-192:4 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 192:7-192:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 193:1-193:4 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 193:7-193:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 194:1-194:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 194:8-194:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 195:1-195:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 195:8-195:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 196:1-196:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 196:8-196:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 197:1-197:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 197:15-197:26 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 200:1-200:4 forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b testdata/Prelude.lc 200:7-200:14 forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b testdata/Prelude.lc 201:1-201:5 forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b testdata/Prelude.lc 201:8-201:16 forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b testdata/Prelude.lc 202:1-202:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 202:9-202:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 203:1-203:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 203:9-203:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 204:1-204:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 204:9-204:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 205:1-205:10 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 205:13-205:26 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 206:1-206:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 206:8-206:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 207:1-207:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 207:9-207:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 208:1-208:4 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 208:7-208:14 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 209:1-209:4 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 209:7-209:14 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 210:1-210:4 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 210:7-210:14 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 211:1-211:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> (a, a) testdata/Prelude.lc 211:8-211:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> (a, a) testdata/Prelude.lc 212:1-212:6 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b testdata/Prelude.lc 212:9-212:18 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b testdata/Prelude.lc 213:1-213:7 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> a -> b testdata/Prelude.lc 213:10-213:20 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> a -> b testdata/Prelude.lc 214:1-214:4 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Prelude.lc 214:7-214:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Prelude.lc 215:1-215:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float -> a testdata/Prelude.lc 215:8-215:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float -> a testdata/Prelude.lc 216:1-216:5 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a testdata/Prelude.lc 216:8-216:16 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a testdata/Prelude.lc 217:1-217:5 forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a testdata/Prelude.lc 217:8-217:16 forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a testdata/Prelude.lc 218:1-218:6 forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> a -> a testdata/Prelude.lc 218:9-218:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> a -> a testdata/Prelude.lc 219:1-219:11 forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a -> a testdata/Prelude.lc 219:14-219:28 forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a -> a testdata/Prelude.lc 220:1-220:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> Float -> a -> a testdata/Prelude.lc 220:15-220:30 forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> Float -> a -> a testdata/Prelude.lc 221:1-221:6 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c testdata/Prelude.lc 221:9-221:18 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c testdata/Prelude.lc 222:1-222:6 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c testdata/Prelude.lc 222:9-222:18 forall a (b :: Nat) c . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c testdata/Prelude.lc 224:1-224:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 224:8-224:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 225:1-225:5 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 225:8-225:16 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 226:1-226:7 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 226:10-226:20 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 228:1-228:7 forall (a :: Nat) . VecScalar a Float -> Float testdata/Prelude.lc 228:10-228:20 forall (a :: Nat) . VecScalar a Float -> Float testdata/Prelude.lc 229:1-229:7 forall (a :: Nat) . VecScalar a Float -> Vec 2 Float testdata/Prelude.lc 229:10-229:20 forall (a :: Nat) . VecScalar a Float -> Vec 2 Float testdata/Prelude.lc 230:1-230:7 forall (a :: Nat) . VecScalar a Float -> Vec 3 Float testdata/Prelude.lc 230:10-230:20 forall (a :: Nat) . VecScalar a Float -> Vec 3 Float testdata/Prelude.lc 231:1-231:7 forall (a :: Nat) . VecScalar a Float -> Vec 4 Float testdata/Prelude.lc 231:10-231:20 forall (a :: Nat) . VecScalar a Float -> Vec 4 Float testdata/Prelude.lc 234:1-234:7 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> Float testdata/Prelude.lc 234:10-234:20 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> Float testdata/Prelude.lc 235:1-235:9 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float testdata/Prelude.lc 235:12-235:24 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float testdata/Prelude.lc 236:1-236:4 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float testdata/Prelude.lc 236:7-236:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float testdata/Prelude.lc 237:1-237:6 forall a . (a ~ VecS Float 3) => a -> a -> a testdata/Prelude.lc 237:9-237:18 forall a . (a ~ VecS Float 3) => a -> a -> a testdata/Prelude.lc 238:1-238:10 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 238:13-238:26 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 239:1-239:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Prelude.lc 239:15-239:30 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Prelude.lc 240:1-240:8 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Prelude.lc 240:11-240:22 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a testdata/Prelude.lc 241:1-241:8 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Prelude.lc 241:11-241:22 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a testdata/Prelude.lc 243:1-243:10 forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c testdata/Prelude.lc 243:13-243:26 forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c testdata/Prelude.lc 244:1-244:4 forall (a :: Nat) b . Mat a a b -> Float testdata/Prelude.lc 244:7-244:22 forall (a :: Nat) b . Mat a a b -> Float testdata/Prelude.lc 245:1-245:4 forall (a :: Nat) b . Mat a a b -> Mat a a b testdata/Prelude.lc 245:7-245:18 forall (a :: Nat) b . Mat a a b -> Mat a a b testdata/Prelude.lc 246:1-246:6 forall (a :: Nat) b (c :: Nat) . Vec a b -> Vec c b -> Mat c a b testdata/Prelude.lc 246:9-246:25 forall (a :: Nat) b (c :: Nat) . Vec a b -> Vec c b -> Mat c a b testdata/Prelude.lc 248:1-248:5 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 248:11-248:19 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 249:1-249:4 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 249:11-249:18 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 250:1-250:5 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 250:11-250:19 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 251:1-251:5 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b testdata/Prelude.lc 251:11-251:19 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b testdata/Prelude.lc 252:1-252:6 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Prelude.lc 252:11-252:20 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Prelude.lc 253:1-253:5 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Prelude.lc 253:11-253:19 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Prelude.lc 254:1-254:6 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Prelude.lc 254:11-254:20 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b testdata/Prelude.lc 255:1-255:7 forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b testdata/Prelude.lc 255:11-255:22 forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b testdata/Prelude.lc 256:1-256:7 forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b testdata/Prelude.lc 256:11-256:22 forall a b (c :: Nat) d . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b testdata/Prelude.lc 257:1-257:8 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b testdata/Prelude.lc 257:11-257:23 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b testdata/Prelude.lc 258:1-258:8 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b testdata/Prelude.lc 258:11-258:23 forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b testdata/Prelude.lc 260:1-260:15 forall (a :: Nat) . VecScalar a Float -> VecScalar a Int testdata/Prelude.lc 260:19-260:37 forall (a :: Nat) . VecScalar a Float -> VecScalar a Int testdata/Prelude.lc 261:1-261:16 forall (a :: Nat) . VecScalar a Float -> VecScalar a Word testdata/Prelude.lc 261:19-261:38 forall (a :: Nat) . VecScalar a Float -> VecScalar a Word testdata/Prelude.lc 262:1-262:15 forall (a :: Nat) . VecScalar a Int -> VecScalar a Float testdata/Prelude.lc 262:19-262:37 forall (a :: Nat) . VecScalar a Int -> VecScalar a Float testdata/Prelude.lc 263:1-263:16 forall (a :: Nat) . VecScalar a Word -> VecScalar a Float testdata/Prelude.lc 263:19-263:38 forall (a :: Nat) . VecScalar a Word -> VecScalar a Float testdata/Prelude.lc 281:3-281:4 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 281:9-281:16 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 281:9-281:18 _e -> _e testdata/Prelude.lc 281:9-281:20 _d testdata/Prelude.lc 281:17-281:18 _f testdata/Prelude.lc 281:19-281:20 _c testdata/Prelude.lc 282:3-282:4 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 282:9-282:16 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 282:9-282:18 _e -> _e testdata/Prelude.lc 282:9-282:20 _d testdata/Prelude.lc 282:17-282:18 _f testdata/Prelude.lc 282:19-282:20 _c testdata/Prelude.lc 283:3-283:4 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 283:9-283:16 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 283:9-283:18 _e -> _e testdata/Prelude.lc 283:9-283:20 _d testdata/Prelude.lc 283:17-283:18 _f testdata/Prelude.lc 283:19-283:20 _c testdata/Prelude.lc 284:3-284:4 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 284:9-284:16 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 284:9-284:18 VecScalar _b _c -> VecScalar _b _c testdata/Prelude.lc 284:9-284:20 VecScalar _b _c testdata/Prelude.lc 284:17-284:18 _g testdata/Prelude.lc 284:19-284:20 _e testdata/Prelude.lc 285:3-285:4 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 285:9-285:16 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b testdata/Prelude.lc 285:9-285:18 VecScalar _b _c -> VecScalar _b _c testdata/Prelude.lc 285:9-285:20 VecScalar _b _c testdata/Prelude.lc 285:17-285:18 _g testdata/Prelude.lc 285:19-285:20 _e testdata/Prelude.lc 287:1-287:4 forall a . Signed (MatVecScalarElem a) => a -> a testdata/Prelude.lc 287:9-287:16 forall a . Signed (MatVecScalarElem a) => a -> a testdata/Prelude.lc 287:9-287:18 _c testdata/Prelude.lc 287:17-287:18 _d testdata/Prelude.lc 291:3-291:5 forall a . a -> a -> Bool testdata/Prelude.lc 291:10-291:22 forall a b . (b ~ MatVecScalarElem a) => a -> a -> Bool testdata/Prelude.lc 291:10-291:24 _d -> Bool testdata/Prelude.lc 291:10-291:26 Bool testdata/Prelude.lc 291:23-291:24 _e testdata/Prelude.lc 291:25-291:26 _b testdata/Prelude.lc 292:3-292:4 forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool testdata/Prelude.lc 292:9-292:21 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Prelude.lc 292:9-292:23 VecScalar _c _b -> VecScalar _c Bool testdata/Prelude.lc 292:9-292:25 VecScalar _c Bool testdata/Prelude.lc 292:22-292:23 _g testdata/Prelude.lc 292:24-292:25 _e testdata/Prelude.lc 293:3-293:5 forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool testdata/Prelude.lc 293:10-293:27 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Prelude.lc 293:10-293:29 VecScalar _c _b -> VecScalar _c Bool testdata/Prelude.lc 293:10-293:31 VecScalar _c Bool testdata/Prelude.lc 293:28-293:29 _g testdata/Prelude.lc 293:30-293:31 _e testdata/Prelude.lc 294:3-294:5 forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool testdata/Prelude.lc 294:10-294:30 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Prelude.lc 294:10-294:32 VecScalar _c _b -> VecScalar _c Bool testdata/Prelude.lc 294:10-294:34 VecScalar _c Bool testdata/Prelude.lc 294:31-294:32 _g testdata/Prelude.lc 294:33-294:34 _e testdata/Prelude.lc 295:3-295:4 forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool testdata/Prelude.lc 295:9-295:24 forall a (b :: Nat) c d . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d testdata/Prelude.lc 295:9-295:26 VecScalar _c _b -> VecScalar _c Bool testdata/Prelude.lc 295:9-295:28 VecScalar _c Bool testdata/Prelude.lc 295:25-295:26 _g testdata/Prelude.lc 295:27-295:28 _e testdata/Prelude.lc 298:3-298:5 Bool -> Bool -> Bool testdata/Prelude.lc 298:10-298:17 Bool -> Bool -> Bool testdata/Prelude.lc 298:10-298:19 Bool -> Bool testdata/Prelude.lc 298:10-298:21 Bool testdata/Prelude.lc 298:18-298:19 _d testdata/Prelude.lc 298:20-298:21 _b testdata/Prelude.lc 299:3-299:5 Bool -> Bool -> Bool testdata/Prelude.lc 299:10-299:16 Bool -> Bool -> Bool testdata/Prelude.lc 299:10-299:18 Bool -> Bool testdata/Prelude.lc 299:10-299:20 Bool testdata/Prelude.lc 299:17-299:18 _d testdata/Prelude.lc 299:19-299:20 _b testdata/Prelude.lc 300:1-300:4 Bool -> Bool -> Bool testdata/Prelude.lc 300:7-300:14 Bool -> Bool -> Bool testdata/Prelude.lc 301:1-301:4 forall (a :: Nat) . VecScalar a Bool -> VecScalar a Bool testdata/Prelude.lc 301:9-301:16 forall a (b :: Nat) . (a ~ VecScalar b Bool) => a -> a testdata/Prelude.lc 301:9-301:18 VecScalar _a Bool testdata/Prelude.lc 301:17-301:18 _c testdata/Prelude.lc 302:1-302:4 forall (a :: Nat) . VecScalar a Bool -> Bool testdata/Prelude.lc 302:9-302:16 forall (a :: Nat) . VecScalar a Bool -> Bool testdata/Prelude.lc 302:9-302:18 Bool testdata/Prelude.lc 302:17-302:18 _c testdata/Prelude.lc 303:1-303:4 forall (a :: Nat) . VecScalar a Bool -> Bool testdata/Prelude.lc 303:9-303:16 forall (a :: Nat) . VecScalar a Bool -> Bool testdata/Prelude.lc 303:9-303:18 Bool testdata/Prelude.lc 303:17-303:18 _c testdata/Prelude.lc 306:3-306:6 forall (a :: Nat) (b :: Nat) c (d :: Nat) . Mat a b c -> Mat b d c -> Mat a d c testdata/Prelude.lc 306:11-306:24 forall (a :: Nat) (b :: Nat) c (d :: Nat) . Mat a b c -> Mat b d c -> Mat a d c testdata/Prelude.lc 306:11-306:26 Mat _c _a _b -> Mat _d _a _b testdata/Prelude.lc 306:11-306:28 Mat _d _a _b testdata/Prelude.lc 306:25-306:26 _h testdata/Prelude.lc 306:27-306:28 _f testdata/Prelude.lc 307:3-307:5 forall (a :: Nat) (b :: Nat) c . Mat a b c -> VecS c b -> Vec a c testdata/Prelude.lc 307:10-307:23 forall (a :: Nat) (b :: Nat) c . Mat a b c -> Vec b c -> Vec a c testdata/Prelude.lc 307:10-307:25 Vec _b _a -> Vec _c _a testdata/Prelude.lc 307:10-307:27 Vec _c _a testdata/Prelude.lc 307:24-307:25 _g testdata/Prelude.lc 307:26-307:27 _e testdata/Prelude.lc 308:3-308:5 forall (a :: Nat) b (c :: Nat) . VecS b a -> Mat a c b -> Vec c b testdata/Prelude.lc 308:10-308:23 forall (a :: Nat) b (c :: Nat) . Vec a b -> Mat a c b -> Vec c b testdata/Prelude.lc 308:10-308:25 Mat _c _a _b -> Vec _a _b testdata/Prelude.lc 308:10-308:27 Vec _a _b testdata/Prelude.lc 308:24-308:25 _g testdata/Prelude.lc 308:26-308:27 _e testdata/Prelude.lc 315:3-315:5 forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a testdata/Prelude.lc 315:10-315:18 forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b testdata/Prelude.lc 315:10-315:20 MatVecScalarElem _e -> _e testdata/Prelude.lc 315:10-315:22 _d testdata/Prelude.lc 315:19-315:20 _f testdata/Prelude.lc 315:21-315:22 _c testdata/Prelude.lc 316:3-316:5 forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a testdata/Prelude.lc 316:10-316:18 forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b testdata/Prelude.lc 316:10-316:20 MatVecScalarElem _e -> _e testdata/Prelude.lc 316:10-316:22 _d testdata/Prelude.lc 316:19-316:20 _f testdata/Prelude.lc 316:21-316:22 _c testdata/Prelude.lc 317:3-317:5 forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a testdata/Prelude.lc 317:10-317:18 forall a b . (a ~ MatVecScalarElem b, Num a) => b -> a -> b testdata/Prelude.lc 317:10-317:20 MatVecScalarElem _e -> _e testdata/Prelude.lc 317:10-317:22 _d testdata/Prelude.lc 317:19-317:20 _f testdata/Prelude.lc 317:21-317:22 _c testdata/Prelude.lc 318:3-318:5 forall a (b :: Nat) . Num a => VecScalar b a -> a -> VecScalar b a testdata/Prelude.lc 318:10-318:18 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b testdata/Prelude.lc 318:10-318:20 _c -> VecScalar _b _c testdata/Prelude.lc 318:10-318:22 VecScalar _b _d testdata/Prelude.lc 318:19-318:20 _g testdata/Prelude.lc 318:21-318:22 _e testdata/Prelude.lc 319:3-319:5 forall a (b :: Nat) . Num a => VecScalar b a -> a -> VecScalar b a testdata/Prelude.lc 319:10-319:18 forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> b testdata/Prelude.lc 319:10-319:20 _c -> VecScalar _b _c testdata/Prelude.lc 319:10-319:22 VecScalar _b _d testdata/Prelude.lc 319:19-319:20 _g testdata/Prelude.lc 319:21-319:22 _e testdata/Prelude.lc 326:16-326:21 Type testdata/Prelude.lc 327:16-327:21 Type testdata/Prelude.lc 327:16-330:29 Type testdata/Prelude.lc 328:16-328:21 Type testdata/Prelude.lc 328:16-330:29 Type testdata/Prelude.lc 329:16-329:21 Type testdata/Prelude.lc 329:16-330:29 Type testdata/Prelude.lc 330:16-330:19 Nat -> Nat -> Type -> Type testdata/Prelude.lc 330:16-330:21 Nat -> Type -> Type testdata/Prelude.lc 330:16-330:23 Type -> Type testdata/Prelude.lc 330:16-330:29 Type | Type testdata/Prelude.lc 330:20-330:21 _b testdata/Prelude.lc 330:22-330:23 _b testdata/Prelude.lc 330:24-330:29 Type testdata/Prelude.lc 331:1-331:12 Float -> Float -> Float -> Float -> Mat 4 4 Float testdata/Prelude.lc 332:5-332:9 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 332:5-332:59 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 332:5-333:59 Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 332:5-334:62 Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 332:5-335:59 Mat 4 4 Float testdata/Prelude.lc 332:11-332:13 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 332:11-332:25 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 332:11-332:29 Float -> Float -> VecS Float 4 testdata/Prelude.lc 332:11-332:43 Float -> VecS Float 4 testdata/Prelude.lc 332:11-332:58 VecS Float 4 testdata/Prelude.lc 332:15-332:16 _b testdata/Prelude.lc 332:15-332:17 _c -> _c testdata/Prelude.lc 332:15-332:18 VecScalar 1 Float testdata/Prelude.lc 332:15-332:19 VecScalar 1 Float -> VecScalar 1 Float testdata/Prelude.lc 332:15-332:24 VecScalar 1 Float testdata/Prelude.lc 332:16-332:17 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 332:17-332:18 Float testdata/Prelude.lc 332:18-332:19 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 332:20-332:21 Float testdata/Prelude.lc 332:20-332:22 Float -> Float testdata/Prelude.lc 332:20-332:23 Float testdata/Prelude.lc 332:21-332:22 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 332:22-332:23 Float testdata/Prelude.lc 332:28-332:29 _b testdata/Prelude.lc 332:42-332:43 _b testdata/Prelude.lc 332:57-332:58 _b testdata/Prelude.lc 333:11-333:13 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 333:11-333:15 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 333:11-333:39 Float -> Float -> VecS Float 4 testdata/Prelude.lc 333:11-333:43 Float -> VecS Float 4 testdata/Prelude.lc 333:11-333:58 VecS Float 4 testdata/Prelude.lc 333:14-333:15 _b testdata/Prelude.lc 333:29-333:30 _b testdata/Prelude.lc 333:29-333:31 _c -> _c testdata/Prelude.lc 333:29-333:32 VecScalar 1 Float testdata/Prelude.lc 333:29-333:33 VecScalar 1 Float -> VecScalar 1 Float testdata/Prelude.lc 333:29-333:38 VecScalar 1 Float testdata/Prelude.lc 333:30-333:31 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 333:31-333:32 Float testdata/Prelude.lc 333:32-333:33 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 333:34-333:35 Float testdata/Prelude.lc 333:34-333:36 Float -> Float testdata/Prelude.lc 333:34-333:37 Float testdata/Prelude.lc 333:35-333:36 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 333:36-333:37 Float testdata/Prelude.lc 333:42-333:43 _b testdata/Prelude.lc 333:57-333:58 _b testdata/Prelude.lc 334:11-334:13 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 334:11-334:27 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 334:11-334:41 Float -> Float -> VecS Float 4 testdata/Prelude.lc 334:11-334:56 Float -> VecS Float 4 testdata/Prelude.lc 334:11-334:61 VecS Float 4 testdata/Prelude.lc 334:15-334:21 VecScalar 1 Float -> VecScalar 1 Float testdata/Prelude.lc 334:15-334:26 VecScalar 1 Float testdata/Prelude.lc 334:16-334:17 Float testdata/Prelude.lc 334:16-334:18 Float -> Float testdata/Prelude.lc 334:16-334:19 Float testdata/Prelude.lc 334:17-334:18 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 334:18-334:19 Float testdata/Prelude.lc 334:20-334:21 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 334:22-334:23 Float testdata/Prelude.lc 334:22-334:24 Float -> Float testdata/Prelude.lc 334:22-334:25 Float testdata/Prelude.lc 334:23-334:24 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 334:24-334:25 Float testdata/Prelude.lc 334:29-334:35 VecScalar 1 Float -> VecScalar 1 Float testdata/Prelude.lc 334:29-334:40 VecScalar 1 Float testdata/Prelude.lc 334:30-334:31 Float testdata/Prelude.lc 334:30-334:32 Float -> Float testdata/Prelude.lc 334:30-334:33 Float testdata/Prelude.lc 334:31-334:32 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 334:32-334:33 Float testdata/Prelude.lc 334:34-334:35 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 334:36-334:37 Float testdata/Prelude.lc 334:36-334:38 Float -> Float testdata/Prelude.lc 334:36-334:39 Float testdata/Prelude.lc 334:37-334:38 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 334:38-334:39 Float testdata/Prelude.lc 334:43-334:44 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 334:43-334:55 Float testdata/Prelude.lc 334:44-334:50 VecScalar 1 Float -> VecScalar 1 Float testdata/Prelude.lc 334:44-334:55 VecScalar 1 Float testdata/Prelude.lc 334:45-334:46 Float testdata/Prelude.lc 334:45-334:47 Float -> Float testdata/Prelude.lc 334:45-334:48 Float testdata/Prelude.lc 334:46-334:47 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 334:47-334:48 Float testdata/Prelude.lc 334:49-334:50 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 334:51-334:52 Float testdata/Prelude.lc 334:51-334:53 Float -> Float testdata/Prelude.lc 334:51-334:54 Float testdata/Prelude.lc 334:52-334:53 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 334:53-334:54 Float testdata/Prelude.lc 334:58-334:59 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 334:58-334:60 Float testdata/Prelude.lc 334:59-334:60 _b testdata/Prelude.lc 335:11-335:13 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 335:11-335:15 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 335:11-335:29 _c -> _c -> VecS _c 4 testdata/Prelude.lc 335:11-335:56 Float -> VecS Float 4 testdata/Prelude.lc 335:11-335:58 VecS Float 4 testdata/Prelude.lc 335:14-335:15 _b testdata/Prelude.lc 335:28-335:29 _b testdata/Prelude.lc 335:43-335:44 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 335:43-335:55 Float testdata/Prelude.lc 335:44-335:45 _b testdata/Prelude.lc 335:44-335:46 _c -> _c testdata/Prelude.lc 335:44-335:47 Float testdata/Prelude.lc 335:44-335:48 Float -> Float testdata/Prelude.lc 335:44-335:49 Float testdata/Prelude.lc 335:44-335:50 VecScalar 1 Float -> VecScalar 1 Float testdata/Prelude.lc 335:44-335:55 VecScalar 1 Float testdata/Prelude.lc 335:45-335:46 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 335:46-335:47 Float testdata/Prelude.lc 335:47-335:48 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 335:48-335:49 Float testdata/Prelude.lc 335:49-335:50 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 335:51-335:52 Float testdata/Prelude.lc 335:51-335:53 Float -> Float testdata/Prelude.lc 335:51-335:54 Float testdata/Prelude.lc 335:52-335:53 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 335:53-335:54 Float testdata/Prelude.lc 335:57-335:58 _b testdata/Prelude.lc 337:9-337:10 Float testdata/Prelude.lc 337:9-337:11 Float -> Float testdata/Prelude.lc 337:9-337:22 Float testdata/Prelude.lc 337:10-337:11 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 337:11-337:14 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 337:11-337:22 VecScalar 1 Float testdata/Prelude.lc 337:15-337:19 Float testdata/Prelude.lc 337:15-337:20 VecScalar 1 Float -> VecScalar 1 Float testdata/Prelude.lc 337:15-337:21 VecScalar 1 Float testdata/Prelude.lc 337:19-337:20 forall a (b :: Nat) . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a testdata/Prelude.lc 337:20-337:21 _b testdata/Prelude.lc 338:9-338:10 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 338:9-338:11 Float testdata/Prelude.lc 338:10-338:11 Float testdata/Prelude.lc 339:9-339:15 Float testdata/Prelude.lc 339:9-339:16 Float -> Float testdata/Prelude.lc 339:9-339:17 Float testdata/Prelude.lc 339:15-339:16 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 339:16-339:17 Float testdata/Prelude.lc 340:9-340:10 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 340:9-340:11 Float testdata/Prelude.lc 340:10-340:11 Float testdata/Prelude.lc 342:1-342:11 VecScalar 1 Float -> Mat 4 4 Float testdata/Prelude.lc 342:16-342:20 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 342:16-342:33 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 342:16-342:49 Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 342:16-342:62 Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 342:16-342:75 Mat 4 4 Float testdata/Prelude.lc 342:22-342:24 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 342:22-342:26 VecScalar _c Float -> VecScalar _c Float -> VecScalar _c Float -> VecS (VecScalar _c Float) 4 testdata/Prelude.lc 342:22-342:28 VecScalar _c Float -> VecScalar _c Float -> VecS (VecScalar _c Float) 4 testdata/Prelude.lc 342:22-342:30 VecScalar _d Float -> VecS (VecScalar _d Float) 4 testdata/Prelude.lc 342:22-342:32 VecS (VecScalar 1 Float) 4 testdata/Prelude.lc 342:25-342:26 VecScalar _d Float testdata/Prelude.lc 342:27-342:28 VecScalar _c Float testdata/Prelude.lc 342:29-342:30 _b testdata/Prelude.lc 342:31-342:32 _b testdata/Prelude.lc 342:35-342:37 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 342:35-342:42 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 342:35-342:44 Float -> Float -> VecS Float 4 testdata/Prelude.lc 342:35-342:46 Float -> VecS Float 4 testdata/Prelude.lc 342:35-342:48 VecS Float 4 testdata/Prelude.lc 342:39-342:40 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 342:39-342:41 Float testdata/Prelude.lc 342:40-342:41 VecScalar 1 Float testdata/Prelude.lc 342:43-342:44 VecScalar 1 Float testdata/Prelude.lc 342:45-342:46 _b testdata/Prelude.lc 342:47-342:48 _b testdata/Prelude.lc 342:51-342:53 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 342:51-342:55 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 342:51-342:57 _c -> _c -> VecS _c 4 testdata/Prelude.lc 342:51-342:59 _c -> VecS _c 4 testdata/Prelude.lc 342:51-342:61 VecS Float 4 testdata/Prelude.lc 342:54-342:55 _b testdata/Prelude.lc 342:56-342:57 _b testdata/Prelude.lc 342:58-342:59 _b testdata/Prelude.lc 342:60-342:61 _b testdata/Prelude.lc 342:64-342:66 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 342:64-342:68 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 342:64-342:70 _c -> _c -> VecS _c 4 testdata/Prelude.lc 342:64-342:72 _c -> VecS _c 4 testdata/Prelude.lc 342:64-342:74 VecS Float 4 testdata/Prelude.lc 342:67-342:68 _b testdata/Prelude.lc 342:69-342:70 _b testdata/Prelude.lc 342:71-342:72 _b testdata/Prelude.lc 342:73-342:74 _b testdata/Prelude.lc 344:9-344:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 344:9-344:14 VecScalar _a Float testdata/Prelude.lc 344:13-344:14 _c testdata/Prelude.lc 345:9-345:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 345:9-345:14 VecScalar _b Float testdata/Prelude.lc 345:13-345:14 VecScalar _c Float testdata/Prelude.lc 347:1-347:11 VecScalar 1 Float -> Mat 4 4 Float testdata/Prelude.lc 347:16-347:20 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 347:16-347:36 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 347:16-347:49 Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 347:16-347:62 Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 347:16-347:75 Mat 4 4 Float testdata/Prelude.lc 347:22-347:24 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 347:22-347:26 VecScalar _c Float -> VecScalar _c Float -> VecScalar _c Float -> VecS (VecScalar _c Float) 4 testdata/Prelude.lc 347:22-347:28 VecScalar _d Float -> VecScalar _d Float -> VecS (VecScalar _d Float) 4 testdata/Prelude.lc 347:22-347:33 VecScalar _f Float -> VecS (VecScalar _f Float) 4 testdata/Prelude.lc 347:22-347:35 VecS (VecScalar 1 Float) 4 testdata/Prelude.lc 347:25-347:26 VecScalar _d Float testdata/Prelude.lc 347:27-347:28 _b testdata/Prelude.lc 347:30-347:31 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 347:30-347:32 VecScalar _f Float testdata/Prelude.lc 347:31-347:32 VecScalar _f Float testdata/Prelude.lc 347:34-347:35 _b testdata/Prelude.lc 347:38-347:40 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 347:38-347:42 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 347:38-347:44 _c -> _c -> VecS _c 4 testdata/Prelude.lc 347:38-347:46 _c -> VecS _c 4 testdata/Prelude.lc 347:38-347:48 VecS Float 4 testdata/Prelude.lc 347:41-347:42 _b testdata/Prelude.lc 347:43-347:44 _b testdata/Prelude.lc 347:45-347:46 _b testdata/Prelude.lc 347:47-347:48 _b testdata/Prelude.lc 347:51-347:53 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 347:51-347:55 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 347:51-347:57 Float -> Float -> VecS Float 4 testdata/Prelude.lc 347:51-347:59 Float -> VecS Float 4 testdata/Prelude.lc 347:51-347:61 VecS Float 4 testdata/Prelude.lc 347:54-347:55 VecScalar 1 Float testdata/Prelude.lc 347:56-347:57 _b testdata/Prelude.lc 347:58-347:59 VecScalar 1 Float testdata/Prelude.lc 347:60-347:61 _b testdata/Prelude.lc 347:64-347:66 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 347:64-347:68 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 347:64-347:70 _c -> _c -> VecS _c 4 testdata/Prelude.lc 347:64-347:72 _c -> VecS _c 4 testdata/Prelude.lc 347:64-347:74 VecS Float 4 testdata/Prelude.lc 347:67-347:68 _b testdata/Prelude.lc 347:69-347:70 _b testdata/Prelude.lc 347:71-347:72 _b testdata/Prelude.lc 347:73-347:74 _b testdata/Prelude.lc 349:9-349:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 349:9-349:14 VecScalar _a Float testdata/Prelude.lc 349:13-349:14 _c testdata/Prelude.lc 350:9-350:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 350:9-350:14 VecScalar _b Float testdata/Prelude.lc 350:13-350:14 VecScalar _c Float testdata/Prelude.lc 352:1-352:11 VecScalar 1 Float -> Mat 4 4 Float testdata/Prelude.lc 352:16-352:20 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 352:16-352:33 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 352:16-352:46 Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 352:16-352:62 Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 352:16-352:75 Mat 4 4 Float testdata/Prelude.lc 352:22-352:24 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 352:22-352:26 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 352:22-352:28 _c -> _c -> VecS _c 4 testdata/Prelude.lc 352:22-352:30 _c -> VecS _c 4 testdata/Prelude.lc 352:22-352:32 VecS Float 4 testdata/Prelude.lc 352:25-352:26 _b testdata/Prelude.lc 352:27-352:28 _b testdata/Prelude.lc 352:29-352:30 _b testdata/Prelude.lc 352:31-352:32 _b testdata/Prelude.lc 352:35-352:37 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 352:35-352:39 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 352:35-352:41 VecScalar _d Float -> VecScalar _d Float -> VecS (VecScalar _d Float) 4 testdata/Prelude.lc 352:35-352:43 VecScalar _d Float -> VecS (VecScalar _d Float) 4 testdata/Prelude.lc 352:35-352:45 VecS (VecScalar 1 Float) 4 testdata/Prelude.lc 352:38-352:39 _b testdata/Prelude.lc 352:40-352:41 VecScalar _e Float testdata/Prelude.lc 352:42-352:43 VecScalar _d Float testdata/Prelude.lc 352:44-352:45 _b testdata/Prelude.lc 352:48-352:50 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 352:48-352:52 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 352:48-352:57 Float -> Float -> VecS Float 4 testdata/Prelude.lc 352:48-352:59 Float -> VecS Float 4 testdata/Prelude.lc 352:48-352:61 VecS Float 4 testdata/Prelude.lc 352:51-352:52 _b testdata/Prelude.lc 352:54-352:55 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 352:54-352:56 Float testdata/Prelude.lc 352:55-352:56 VecScalar 1 Float testdata/Prelude.lc 352:58-352:59 VecScalar 1 Float testdata/Prelude.lc 352:60-352:61 _b testdata/Prelude.lc 352:64-352:66 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 352:64-352:68 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 352:64-352:70 _c -> _c -> VecS _c 4 testdata/Prelude.lc 352:64-352:72 _c -> VecS _c 4 testdata/Prelude.lc 352:64-352:74 VecS Float 4 testdata/Prelude.lc 352:67-352:68 _b testdata/Prelude.lc 352:69-352:70 _b testdata/Prelude.lc 352:71-352:72 _b testdata/Prelude.lc 352:73-352:74 _b testdata/Prelude.lc 354:9-354:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 354:9-354:14 VecScalar _a Float testdata/Prelude.lc 354:13-354:14 _c testdata/Prelude.lc 355:9-355:12 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 355:9-355:14 VecScalar _b Float testdata/Prelude.lc 355:13-355:14 VecScalar _c Float testdata/Prelude.lc 357:1-357:14 Float -> Float -> Float -> Mat 4 4 Float testdata/Prelude.lc 357:23-357:33 VecScalar 1 Float -> Mat 4 4 Float testdata/Prelude.lc 357:23-357:35 Mat 4 4 Float testdata/Prelude.lc 357:23-357:39 Mat 4 _a Float -> Mat 4 _a Float testdata/Prelude.lc 357:23-357:52 Mat 4 4 Float testdata/Prelude.lc 357:23-357:56 Mat 4 _a Float -> Mat 4 _a Float testdata/Prelude.lc 357:23-357:69 Mat 4 4 Float testdata/Prelude.lc 357:34-357:35 _k testdata/Prelude.lc 357:36-357:39 forall (a :: Nat) (b :: Nat) c (d :: Nat) . Mat a b c -> Mat b d c -> Mat a d c testdata/Prelude.lc 357:40-357:50 VecScalar 1 Float -> Mat 4 4 Float testdata/Prelude.lc 357:40-357:52 Mat 4 4 Float testdata/Prelude.lc 357:51-357:52 _e testdata/Prelude.lc 357:53-357:56 forall (a :: Nat) (b :: Nat) c (d :: Nat) . Mat a b c -> Mat b d c -> Mat a d c testdata/Prelude.lc 357:57-357:67 VecScalar 1 Float -> Mat 4 4 Float testdata/Prelude.lc 357:57-357:69 Mat 4 4 Float testdata/Prelude.lc 357:68-357:69 _b testdata/Prelude.lc 359:21-359:24 Nat -> Type -> Type testdata/Prelude.lc 359:21-359:26 Type -> Type testdata/Prelude.lc 359:21-359:32 Type testdata/Prelude.lc 359:25-359:26 _b testdata/Prelude.lc 359:27-359:32 Type testdata/Prelude.lc 359:36-359:39 Nat -> Nat -> Type -> Type testdata/Prelude.lc 359:36-359:41 Nat -> Type -> Type testdata/Prelude.lc 359:36-359:43 Type -> Type testdata/Prelude.lc 359:36-359:49 Type | Type testdata/Prelude.lc 359:40-359:41 _b testdata/Prelude.lc 359:42-359:43 _b testdata/Prelude.lc 359:44-359:49 Type testdata/Prelude.lc 360:1-360:17 Vec 3 Float -> Mat 4 4 Float testdata/Prelude.lc 360:22-360:26 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 360:22-360:29 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 360:22-360:32 Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 360:22-360:35 Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 360:22-360:38 Mat 4 4 Float testdata/Prelude.lc 360:27-360:29 forall a . Num a => VecS a 4 testdata/Prelude.lc 360:30-360:32 forall a . Num a => VecS a 4 testdata/Prelude.lc 360:33-360:35 forall a . Num a => VecS a 4 testdata/Prelude.lc 360:36-360:38 VecS Float 4 testdata/Prelude.lc 362:9-362:11 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 362:9-362:13 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 362:9-362:15 _c -> _c -> VecS _c 4 testdata/Prelude.lc 362:9-362:17 _c -> VecS _c 4 testdata/Prelude.lc 362:9-362:19 VecS _c 4 testdata/Prelude.lc 362:12-362:13 _b testdata/Prelude.lc 362:14-362:15 _b testdata/Prelude.lc 362:16-362:17 _b testdata/Prelude.lc 362:18-362:19 _b testdata/Prelude.lc 363:9-363:11 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 363:9-363:13 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 363:9-363:15 _c -> _c -> VecS _c 4 testdata/Prelude.lc 363:9-363:17 _c -> VecS _c 4 testdata/Prelude.lc 363:9-363:19 VecS _c 4 testdata/Prelude.lc 363:12-363:13 _b testdata/Prelude.lc 363:14-363:15 _b testdata/Prelude.lc 363:16-363:17 _b testdata/Prelude.lc 363:18-363:19 _b testdata/Prelude.lc 364:9-364:11 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 364:9-364:13 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 364:9-364:15 _c -> _c -> VecS _c 4 testdata/Prelude.lc 364:9-364:17 _c -> VecS _c 4 testdata/Prelude.lc 364:9-364:19 VecS _c 4 testdata/Prelude.lc 364:12-364:13 _b testdata/Prelude.lc 364:14-364:15 _b testdata/Prelude.lc 364:16-364:17 _b testdata/Prelude.lc 364:18-364:19 _b testdata/Prelude.lc 365:9-365:11 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 365:9-365:15 Float -> Float -> Float -> VecS Float 4 testdata/Prelude.lc 365:9-365:19 Float -> Float -> VecS Float 4 testdata/Prelude.lc 365:9-365:23 Float -> VecS Float 4 testdata/Prelude.lc 365:9-365:25 VecS Float 4 testdata/Prelude.lc 365:12-365:13 Vec 3 Float testdata/Prelude.lc 365:12-365:15 Float testdata/Prelude.lc 365:16-365:17 Vec 3 Float testdata/Prelude.lc 365:16-365:19 Float testdata/Prelude.lc 365:20-365:21 Vec 3 Float testdata/Prelude.lc 365:20-365:23 Float testdata/Prelude.lc 365:24-365:25 _b testdata/Prelude.lc 368:11-368:14 Nat -> Type -> Type testdata/Prelude.lc 368:11-368:16 Type -> Type testdata/Prelude.lc 368:11-368:22 Type testdata/Prelude.lc 368:15-368:16 _b testdata/Prelude.lc 368:17-368:22 Type testdata/Prelude.lc 369:11-369:14 Nat -> Type -> Type testdata/Prelude.lc 369:11-369:16 Type -> Type testdata/Prelude.lc 369:11-369:22 Type testdata/Prelude.lc 369:11-371:24 Type testdata/Prelude.lc 369:15-369:16 _b testdata/Prelude.lc 369:17-369:22 Type testdata/Prelude.lc 370:11-370:14 Nat -> Type -> Type testdata/Prelude.lc 370:11-370:16 Type -> Type testdata/Prelude.lc 370:11-370:22 Type testdata/Prelude.lc 370:11-371:24 Type testdata/Prelude.lc 370:15-370:16 _b testdata/Prelude.lc 370:17-370:22 Type testdata/Prelude.lc 371:11-371:14 Nat -> Nat -> Type -> Type testdata/Prelude.lc 371:11-371:16 Nat -> Type -> Type testdata/Prelude.lc 371:11-371:18 Type -> Type testdata/Prelude.lc 371:11-371:24 Type | Type testdata/Prelude.lc 371:15-371:16 _b testdata/Prelude.lc 371:17-371:18 _b testdata/Prelude.lc 371:19-371:24 Type testdata/Prelude.lc 372:1-372:7 Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 4 4 Float testdata/Prelude.lc 372:24-372:25 Mat 4 4 Float testdata/Prelude.lc 372:24-372:29 Mat 4 _a Float -> Mat 4 _a Float testdata/Prelude.lc 372:24-372:56 Mat 4 4 Float testdata/Prelude.lc 372:26-372:29 forall (a :: Nat) (b :: Nat) c (d :: Nat) . Mat a b c -> Mat b d c -> Mat a d c testdata/Prelude.lc 372:30-372:46 Vec 3 Float -> Mat 4 4 Float testdata/Prelude.lc 372:30-372:56 Mat 4 4 Float testdata/Prelude.lc 372:48-372:51 forall a . Signed (MatVecScalarElem a) => a -> a testdata/Prelude.lc 372:48-372:55 VecS Float 3 testdata/Prelude.lc 372:52-372:55 Vec 3 Float testdata/Prelude.lc 374:14-374:16 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 374:14-374:20 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 374:14-374:24 _b -> _b -> VecS _b 4 testdata/Prelude.lc 374:14-374:28 _b -> VecS _b 4 testdata/Prelude.lc 374:14-374:30 VecS _c 4 testdata/Prelude.lc 374:17-374:18 _e testdata/Prelude.lc 374:17-374:20 _b testdata/Prelude.lc 374:21-374:22 VecS _d _c testdata/Prelude.lc 374:21-374:24 _b testdata/Prelude.lc 374:25-374:26 VecS _d _c testdata/Prelude.lc 374:25-374:28 _b testdata/Prelude.lc 374:29-374:30 _b testdata/Prelude.lc 375:9-375:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 375:9-375:20 VecScalar _a Float -> VecScalar _a Float testdata/Prelude.lc 375:9-375:33 VecScalar 3 Float testdata/Prelude.lc 375:19-375:20 forall a b . (a -> b) -> a -> b testdata/Prelude.lc 375:21-375:24 Vec 3 Float testdata/Prelude.lc 375:21-375:26 VecS Float 3 -> VecS Float 3 testdata/Prelude.lc 375:21-375:33 VecS Float 3 testdata/Prelude.lc 375:25-375:26 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 375:27-375:33 Vec 3 Float testdata/Prelude.lc 376:9-376:18 forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a testdata/Prelude.lc 376:9-376:20 VecScalar _a Float -> VecScalar _a Float testdata/Prelude.lc 376:9-376:33 VecScalar 3 Float testdata/Prelude.lc 376:19-376:20 forall a b . (a -> b) -> a -> b testdata/Prelude.lc 376:21-376:23 Vec 3 Float testdata/Prelude.lc 376:21-376:31 VecS Float 3 -> VecS Float 3 testdata/Prelude.lc 376:21-376:33 VecS Float 3 testdata/Prelude.lc 376:24-376:31 forall a . (a ~ VecS Float 3) => a -> a -> a testdata/Prelude.lc 376:32-376:33 VecScalar 3 Float testdata/Prelude.lc 377:9-377:10 VecScalar 3 Float testdata/Prelude.lc 377:9-377:18 VecS Float 3 -> VecS Float 3 testdata/Prelude.lc 377:9-377:20 VecS Float 3 testdata/Prelude.lc 377:11-377:18 forall a . (a ~ VecS Float 3) => a -> a -> a testdata/Prelude.lc 377:19-377:20 VecScalar 3 Float testdata/Prelude.lc 378:9-378:18 forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c testdata/Prelude.lc 378:9-378:20 Mat _c _b _a -> Mat _b _c _a testdata/Prelude.lc 378:9-378:65 Mat 4 4 Float testdata/Prelude.lc 378:19-378:20 forall a b . (a -> b) -> a -> b testdata/Prelude.lc 378:21-378:25 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 378:21-378:34 Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 378:21-378:43 Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 378:21-378:52 Vec 4 Float -> Mat 4 4 Float testdata/Prelude.lc 378:21-378:65 Mat 4 4 Float testdata/Prelude.lc 378:27-378:31 forall a (b :: Nat) . Num a => VecS a b -> VecS a 4 testdata/Prelude.lc 378:27-378:33 VecS Float 4 testdata/Prelude.lc 378:32-378:33 VecScalar 3 Float testdata/Prelude.lc 378:36-378:40 forall a (b :: Nat) . Num a => VecS a b -> VecS a 4 testdata/Prelude.lc 378:36-378:42 VecS Float 4 testdata/Prelude.lc 378:41-378:42 VecS Float 3 testdata/Prelude.lc 378:45-378:49 forall a (b :: Nat) . Num a => VecS a b -> VecS a 4 testdata/Prelude.lc 378:45-378:51 VecS Float 4 testdata/Prelude.lc 378:50-378:51 VecScalar 3 Float testdata/Prelude.lc 378:54-378:56 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 378:54-378:58 _b -> _b -> _b -> VecS _b 4 testdata/Prelude.lc 378:54-378:60 _c -> _c -> VecS _c 4 testdata/Prelude.lc 378:54-378:62 _c -> VecS _c 4 testdata/Prelude.lc 378:54-378:64 VecS Float 4 testdata/Prelude.lc 378:57-378:58 _b testdata/Prelude.lc 378:59-378:60 _b testdata/Prelude.lc 378:61-378:62 _b testdata/Prelude.lc 378:63-378:64 _b testdata/Prelude.lc 380:1-380:6 Float -> VecS Float 4 -> VecS Float 4 testdata/Prelude.lc 380:13-380:14 _d testdata/Prelude.lc 380:13-380:16 _c -> _c testdata/Prelude.lc 380:13-380:29 VecS Float 4 testdata/Prelude.lc 380:15-380:16 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 380:17-380:19 forall a . a -> a -> a -> a -> VecS a 4 testdata/Prelude.lc 380:17-380:21 _e -> _e -> _e -> VecS _e 4 testdata/Prelude.lc 380:17-380:23 _e -> _e -> VecS _e 4 testdata/Prelude.lc 380:17-380:25 _e -> VecS _e 4 testdata/Prelude.lc 380:17-380:29 VecS Float 4 testdata/Prelude.lc 380:20-380:21 _f testdata/Prelude.lc 380:22-380:23 _e testdata/Prelude.lc 380:24-380:25 _e testdata/Prelude.lc 380:26-380:29 Float testdata/Prelude.lc 382:11-382:16 Type testdata/Prelude.lc 382:11-385:38 Float -> Float -> [Float] testdata/Prelude.lc 382:20-382:25 Type testdata/Prelude.lc 382:20-382:36 Type testdata/Prelude.lc 382:29-382:36 Type | Type testdata/Prelude.lc 382:30-382:35 Type testdata/Prelude.lc 383:1-383:7 Float -> Float -> [Float] testdata/Prelude.lc 384:7-384:8 Float testdata/Prelude.lc 384:7-384:10 VecScalar 1 Float -> VecScalar 1 Bool testdata/Prelude.lc 384:7-384:12 VecScalar 1 Bool testdata/Prelude.lc 384:7-385:38 [Float] testdata/Prelude.lc 384:9-384:10 forall (a :: Nat) b . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool testdata/Prelude.lc 384:11-384:12 Float testdata/Prelude.lc 384:15-384:17 forall a . [a] testdata/Prelude.lc 384:15-385:38 Bool -> [Float] testdata/Prelude.lc 385:19-385:20 Float testdata/Prelude.lc 385:19-385:21 [Float] -> [Float] testdata/Prelude.lc 385:19-385:38 [Float] testdata/Prelude.lc 385:20-385:21 forall a . a -> [a] -> [a] testdata/Prelude.lc 385:22-385:28 Float -> Float -> [Float] testdata/Prelude.lc 385:22-385:36 Float -> [Float] testdata/Prelude.lc 385:22-385:38 [Float] testdata/Prelude.lc 385:30-385:31 Float testdata/Prelude.lc 385:30-385:33 Float -> Float testdata/Prelude.lc 385:30-385:35 Float testdata/Prelude.lc 385:32-385:33 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 385:34-385:35 _b testdata/Prelude.lc 385:37-385:38 Float testdata/Prelude.lc 387:9-387:12 Type testdata/Prelude.lc 387:9-387:24 Type testdata/Prelude.lc 387:9-389:30 forall a . [a] -> Int -> a testdata/Prelude.lc 387:10-387:11 _b testdata/Prelude.lc 387:16-387:19 Type testdata/Prelude.lc 387:16-387:24 Type testdata/Prelude.lc 387:23-387:24 Type | Type testdata/Prelude.lc 388:10-388:12 forall a . [a] -> Int -> a testdata/Prelude.lc 388:19-388:20 _d testdata/Prelude.lc 388:19-389:30 Bool -> _d | _c | _c testdata/Prelude.lc 389:19-389:21 [_f] testdata/Prelude.lc 389:19-389:24 Int -> _e testdata/Prelude.lc 389:19-389:30 _d testdata/Prelude.lc 389:22-389:24 forall a . [a] -> Int -> a testdata/Prelude.lc 389:26-389:27 Int testdata/Prelude.lc 389:26-389:28 Int -> Int testdata/Prelude.lc 389:26-389:29 Int testdata/Prelude.lc 389:27-389:28 forall a . Num (MatVecScalarElem a) => a -> a -> a testdata/Prelude.lc 389:28-389:29 _b ------------ warnings Uncovered pattern(s) at testdata/Prelude.lc:50:1: tail (_: xs) = xs ^^^^ Missing case(s): tail [] Uncovered pattern(s) at testdata/Prelude.lc:58:1: foldr1 f (x: xs) = foldr f x xs ^^^^^^ Missing case(s): foldr1 _ [] Uncovered pattern(s) at testdata/Prelude.lc:137:1: project @a @('RecItem s' a': xs) s @_ (RecordCons ts) | s == s' = fstTup (unsafeCoerce @_ @(HList '(a : map recItemType xs)) ts) project @a @('RecItem s' a': xs) s @_ (RecordCons ts) = project @a @xs s @(undefined @(isKeyC s a xs)) (RecordCons (sndTup (unsafeCoerce @_ @(HList '(a : map recItemType xs)) ts))) Missing case(s): project _ [] _ _ _ Uncovered pattern(s) at testdata/Prelude.lc:388:10: (x : _) !! 0 = x (_ : xs) !! n = xs !! (n-1) Missing case(s): [] !! _