Resolving dependencies... Configuring Boolean-0.2.3... Configuring NumInstances-1.4... Building NumInstances-1.4... Building Boolean-0.2.3... Installed Boolean-0.2.3 Configuring newtype-generics-0.5... Building newtype-generics-0.5... Configuring ty-0.1.7... Installed NumInstances-1.4 Building ty-0.1.7... Installed newtype-generics-0.5 Configuring MemoTrie-0.6.7... Building MemoTrie-0.6.7... Installed ty-0.1.7 Installed MemoTrie-0.6.7 Configuring vector-space-0.10.4... Building vector-space-0.10.4... Installed vector-space-0.10.4 Configuring type-unary-0.2.3... Building type-unary-0.2.3... Failed to install type-unary-0.2.3 Build log ( /home/builder/.cabal/logs/type-unary-0.2.3.log ): cabal: Entering directory '/tmp/cabal-tmp-1219/type-unary-0.2.3' Configuring type-unary-0.2.3... Building type-unary-0.2.3... Preprocessing library type-unary-0.2.3... [1 of 3] Compiling TypeUnary.TyNat ( src/TypeUnary/TyNat.hs, dist/build/TypeUnary/TyNat.o ) [2 of 3] Compiling TypeUnary.Nat ( src/TypeUnary/Nat.hs, dist/build/TypeUnary/Nat.o ) src/TypeUnary/Nat.hs:258:20: error: • Could not deduce (Eq i1) arising from the literal ‘0’ from the context: (Show i, Num i) bound by the type signature for: coerceToIndex' :: (Show i, Num i) => Nat m -> i -> Index m at src/TypeUnary/Nat.hs:251:1-58 or from: (Show i1, Num i1) bound by the type signature for: loop :: (Show i1, Num i1) => Nat m1 -> i1 -> Index m1 at src/TypeUnary/Nat.hs:254:4-51 or from: (m1 ~ S n, IsNat n) bound by a pattern with constructor: Succ :: forall n. IsNat n => Nat n -> Nat (S n), in an equation for ‘loop’ at src/TypeUnary/Nat.hs:258:10-15 Possible fix: add (Eq i1) to the context of the data constructor ‘Succ’ or the type signature for: loop :: (Show i1, Num i1) => Nat m1 -> i1 -> Index m1 • In the pattern: 0 In an equation for ‘loop’: loop (Succ _) 0 = Index ZLess Zero In an equation for ‘coerceToIndex'’: coerceToIndex' mOrig niOrig = loop mOrig niOrig where loop :: (Show i, Num i) => Nat m -> i -> Index m loop Zero _ = error $ "coerceToIndex: out of bounds: " ++ show niOrig ++ " should be less than " ++ show mOrig loop (Succ _) 0 = Index ZLess Zero loop (Succ m') ni' = succI (loop m' (ni' - 1)) cabal: Leaving directory '/tmp/cabal-tmp-1219/type-unary-0.2.3' cabal: Error: some packages failed to install: type-unary-0.2.3 failed during the building phase. The exception was: ExitFailure 1