Resolving dependencies... Configuring base16-bytestring-0.1.1.6... Configuring base-compat-0.9.1... Building base-compat-0.9.1... Building base16-bytestring-0.1.1.6... Installed base16-bytestring-0.1.1.6 Configuring base64-bytestring-1.0.0.1... Building base64-bytestring-1.0.0.1... Configuring byteable-0.1.1... Installed base-compat-0.9.1 Building byteable-0.1.1... Configuring clock-0.7.2... Installed base64-bytestring-1.0.0.1 Building clock-0.7.2... Configuring dlist-0.8.0.2... Installed byteable-0.1.1 Building dlist-0.8.0.2... Configuring entropy-0.3.7... Installed clock-0.7.2 Configuring memory-0.13... Installed dlist-0.8.0.2 Building memory-0.13... Building entropy-0.3.7... Configuring mtl-2.2.1... Installed entropy-0.3.7 Building mtl-2.2.1... Configuring network-2.6.3.1... Installed memory-0.13 Configuring old-locale-1.0.0.7... Installed mtl-2.2.1 Building old-locale-1.0.0.7... Building network-2.6.3.1... Configuring primitive-0.6.1.0... Installed old-locale-1.0.0.7 Building primitive-0.6.1.0... Configuring random-1.1... Installed primitive-0.6.1.0 Building random-1.1... Configuring safe-0.3.10... Installed network-2.6.3.1 Building safe-0.3.10... Configuring stm-2.4.4.1... Installed random-1.1 Building stm-2.4.4.1... Configuring text-1.2.2.1... Installed safe-0.3.10 Building text-1.2.2.1... Configuring time-locale-compat-0.1.1.3... Installed stm-2.4.4.1 Building time-locale-compat-0.1.1.3... Configuring transformers-compat-0.5.1.4... Installed time-locale-compat-0.1.1.3 Building transformers-compat-0.5.1.4... Installed transformers-compat-0.5.1.4 Configuring scrypt-0.5.0... Building scrypt-0.5.0... Configuring cryptonite-0.20... Installed scrypt-0.5.0 Building cryptonite-0.20... Configuring vector-0.11.0.0... Installed text-1.2.2.1 Building vector-0.11.0.0... Configuring MonadRandom-0.4.2.3... Installed vector-0.11.0.0 Building MonadRandom-0.4.2.3... Configuring tagged-0.8.5... Installed cryptonite-0.20 Building tagged-0.8.5... Configuring transformers-base-0.4.4... Installed MonadRandom-0.4.2.3 Building transformers-base-0.4.4... Installed tagged-0.8.5 Configuring hashable-1.2.4.0... Configuring parsec-3.1.11... Installed transformers-base-0.4.4 Building hashable-1.2.4.0... Building parsec-3.1.11... Configuring cryptohash-0.11.9... Installed hashable-1.2.4.0 Building cryptohash-0.11.9... Installed parsec-3.1.11 Configuring monad-control-1.0.1.0... Building monad-control-1.0.1.0... Installed cryptohash-0.11.9 Configuring scientific-0.3.4.9... Building scientific-0.3.4.9... Configuring unordered-containers-0.2.7.1... Installed monad-control-1.0.1.0 Building unordered-containers-0.2.7.1... Configuring inflections-0.2.0.1... Installed scientific-0.3.4.9 Building inflections-0.2.0.1... Configuring network-uri-2.6.1.0... Installed inflections-0.2.0.1 Building network-uri-2.6.1.0... Installed unordered-containers-0.2.7.1 Configuring resource-pool-0.2.3.2... Building resource-pool-0.2.3.2... Configuring attoparsec-0.13.1.0... Installed network-uri-2.6.1.0 Building attoparsec-0.13.1.0... Installed resource-pool-0.2.3.2 Installed attoparsec-0.13.1.0 Configuring aeson-1.0.2.1... Building aeson-1.0.2.1... Installed aeson-1.0.2.1 Configuring rethinkdb-client-driver-0.0.23... Building rethinkdb-client-driver-0.0.23... Installed rethinkdb-client-driver-0.0.23 Configuring avers-0.0.14... Building avers-0.0.14... Failed to install avers-0.0.14 Build log ( /home/builder/.cabal/logs/avers-0.0.14.log ): cabal: Entering directory '/tmp/cabal-tmp-2048/avers-0.0.14' Configuring avers-0.0.14... Building avers-0.0.14... Preprocessing library avers-0.0.14... [ 1 of 12] Compiling Avers.TH ( src/Avers/TH.hs, dist/build/Avers/TH.o ) src/Avers/TH.hs:111:5: error: • Couldn't match type ‘[Dec] -> Dec’ with ‘Dec’ Expected type: Q [Dec] Actual type: Q [[Dec] -> Dec] • In a stmt of a 'do' block: return [InstanceD icxt (AppT fromJsonT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseJSON [...]]] In the expression: do { xN <- newName "x"; (tyVarsBndrs, fieldNames) <- getTyInfo typeN; parseJsonE <- mkParseJSON options typeN; insertDefaultsE <- mkInsertDefaults defaults; .... } In an equation for ‘deriveFromJSONWithDefaults’: deriveFromJSONWithDefaults options typeN defaults = do { xN <- newName "x"; (tyVarsBndrs, fieldNames) <- getTyInfo typeN; parseJsonE <- mkParseJSON options typeN; .... } where typeT = ConT typeN fromJsonT = ConT ''FromJSON src/Avers/TH.hs:112:21: error: • Couldn't match expected type ‘Maybe Overlap’ with actual type ‘[Type]’ • In the first argument of ‘InstanceD’, namely ‘icxt’ In the expression: InstanceD icxt (AppT fromJsonT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseJSON [Clause [...] (NormalB (AppE parseJsonE (mkApps [...]))) []]] In the first argument of ‘return’, namely ‘[InstanceD icxt (AppT fromJsonT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseJSON [...]]]’ src/Avers/TH.hs:113:14: error: • Couldn't match type ‘Type’ with ‘[Pred]’ Expected type: Cxt Actual type: Type • In the second argument of ‘InstanceD’, namely ‘(AppT fromJsonT (mkAppTys (typeT : map VarT tyVars)))’ In the expression: InstanceD icxt (AppT fromJsonT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseJSON [Clause [...] (NormalB (AppE parseJsonE (mkApps [...]))) []]] In the first argument of ‘return’, namely ‘[InstanceD icxt (AppT fromJsonT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseJSON [...]]]’ src/Avers/TH.hs:114:13: error: • Couldn't match expected type ‘Type’ with actual type ‘[Dec]’ • In the third argument of ‘InstanceD’, namely ‘[FunD 'parseJSON [Clause [...] (NormalB (AppE parseJsonE (mkApps [...]))) []]]’ In the expression: InstanceD icxt (AppT fromJsonT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseJSON [Clause [...] (NormalB (AppE parseJsonE (mkApps [...]))) []]] In the first argument of ‘return’, namely ‘[InstanceD icxt (AppT fromJsonT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseJSON [...]]]’ src/Avers/TH.hs:173:5: error: • Couldn't match type ‘[Dec] -> Dec’ with ‘Dec’ Expected type: Q [Dec] Actual type: Q [[Dec] -> Dec] • In a stmt of a 'do' block: return [InstanceD icxt (AppT fromDatumT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseDatum [...]]] In the expression: do { xN <- newName "x"; (tyVarsBndrs, fieldNames) <- getTyInfo typeN; parseJsonE <- mkParseDatum options typeN; insertDefaultsE <- mkInsertDatumDefaults defaults; .... } In an equation for ‘deriveFromDatumWithDefaults’: deriveFromDatumWithDefaults options typeN defaults = do { xN <- newName "x"; (tyVarsBndrs, fieldNames) <- getTyInfo typeN; parseJsonE <- mkParseDatum options typeN; .... } where typeT = ConT typeN fromDatumT = ConT ''FromDatum src/Avers/TH.hs:174:21: error: • Couldn't match expected type ‘Maybe Overlap’ with actual type ‘[Type]’ • In the first argument of ‘InstanceD’, namely ‘icxt’ In the expression: InstanceD icxt (AppT fromDatumT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseDatum [Clause [...] (NormalB (AppE parseJsonE (mkApps [...]))) []]] In the first argument of ‘return’, namely ‘[InstanceD icxt (AppT fromDatumT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseDatum [...]]]’ src/Avers/TH.hs:175:14: error: • Couldn't match type ‘Type’ with ‘[Pred]’ Expected type: Cxt Actual type: Type • In the second argument of ‘InstanceD’, namely ‘(AppT fromDatumT (mkAppTys (typeT : map VarT tyVars)))’ In the expression: InstanceD icxt (AppT fromDatumT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseDatum [Clause [...] (NormalB (AppE parseJsonE (mkApps [...]))) []]] In the first argument of ‘return’, namely ‘[InstanceD icxt (AppT fromDatumT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseDatum [...]]]’ src/Avers/TH.hs:176:13: error: • Couldn't match expected type ‘Type’ with actual type ‘[Dec]’ • In the third argument of ‘InstanceD’, namely ‘[FunD 'parseDatum [Clause [...] (NormalB (AppE parseJsonE (mkApps [...]))) []]]’ In the expression: InstanceD icxt (AppT fromDatumT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseDatum [Clause [...] (NormalB (AppE parseJsonE (mkApps [...]))) []]] In the first argument of ‘return’, namely ‘[InstanceD icxt (AppT fromDatumT (mkAppTys (typeT : map VarT tyVars))) [FunD 'parseDatum [...]]]’ src/Avers/TH.hs:222:17: error: • The constructor ‘DataD’ should have 6 arguments, but has been given 5 • In the pattern: DataD _ _ tvbs cons _ In the pattern: TyConI (DataD _ _ tvbs cons _) In a case alternative: TyConI (DataD _ _ tvbs cons _) -> pure (tvbs, getFieldNames =<< cons) cabal: Leaving directory '/tmp/cabal-tmp-2048/avers-0.0.14' cabal: Error: some packages failed to install: avers-0.0.14 failed during the building phase. The exception was: ExitFailure 1