diff --git a/cautious.cabal b/cautious.cabal
--- a/cautious.cabal
+++ b/cautious.cabal
@@ -1,67 +1,76 @@
-name: cautious
-version: 0.0.0.0
-cabal-version: >=1.10
-build-type: Simple
-license: BSD3
-license-file: LICENSE
-copyright: 2018 Nick Van den Broeck
-maintainer: nick.van.den.broeck666@gmail.com
-homepage: https://github.com/Nickske666/cautious#readme
-bug-reports: https://github.com/Nickske666/cautious/issues
-synopsis: Keep track of warnings and errors during calculations.
-description:
-    A Cautious monad "Monoid w => Cautious w e a" which keeps track of the success of a task. The options are "CautiousWarning w a" (where "CautiousWarning mempty a" represents "success") and "CautiousError e". In addition, there is a monadtransformer "Monad m, Monoid w => CautiousT w e m a"
-category: Testing
-author: Nick Van den Broeck
+-- This file has been generated from package.yaml by hpack version 0.20.0.
+--
+-- see: https://github.com/sol/hpack
+--
+-- hash: 8b9da1a1772aa6520617ce70f5e13cc9e31103bb2406f4d33118650185b97a5b
+
+name:           cautious
+version:        0.1.0.0
+synopsis:       Keep track of warnings and errors during calculations.
+description:    A Cautious monad "Monoid w => Cautious w e a" which keeps track of the success of a task. The options are "CautiousWarning w a" (where "CautiousWarning mempty a" represents "success") and "CautiousError e". In addition, there is a monadtransformer "Monad m, Monoid w => CautiousT w e m a"
+category:       Testing
+homepage:       https://github.com/Nickske666/cautious#readme
+bug-reports:    https://github.com/Nickske666/cautious/issues
+author:         Nick Van den Broeck
+maintainer:     nick.van.den.broeck666@gmail.com
+copyright:      2018 Nick Van den Broeck
+license:        BSD3
+license-file:   LICENSE
+build-type:     Simple
+cabal-version:  >= 1.10
+
 extra-source-files:
     ChangeLog.md
     README.md
 
 source-repository head
-    type: git
-    location: https://github.com/Nickske666/cautious
+  type: git
+  location: https://github.com/Nickske666/cautious
 
 library
-    exposed-modules:
-        Import
-        Cautious.Cautious
-        Cautious.CautiousT
-    build-depends:
-        QuickCheck >=2.9 && <2.11,
-        aeson -any,
-        base >=4.10 && <5,
-        genvalidity-hspec-aeson -any,
-        hspec -any,
-        hspec-discover -any,
-        transformers -any,
-        validity -any
-    default-language: Haskell2010
-    default-extensions: NoImplicitPrelude
-    hs-source-dirs: src/
-    other-modules:
-        Paths_cautious
-    ghc-options: -Wall
+  hs-source-dirs:
+      src/
+  default-extensions: NoImplicitPrelude
+  ghc-options: -Wall
+  build-depends:
+      QuickCheck >=2.9 && <2.11
+    , aeson
+    , base >=4.10 && <5
+    , genvalidity
+    , genvalidity-hspec-aeson
+    , hspec
+    , hspec-discover
+    , transformers
+    , validity
+  exposed-modules:
+      Cautious.Cautious
+      Cautious.CautiousT
+      Cautious.Gen
+  other-modules:
+      Import
+      Paths_cautious
+  default-language: Haskell2010
 
 test-suite cautious-test
-    type: exitcode-stdio-1.0
-    main-is: Spec.hs
-    build-depends:
-        QuickCheck -any,
-        aeson -any,
-        base >=4.10 && <5,
-        cautious -any,
-        genvalidity -any,
-        genvalidity-hspec -any,
-        genvalidity-hspec-aeson -any,
-        hspec -any,
-        hspec-discover -any,
-        transformers -any,
-        validity -any
-    default-language: Haskell2010
-    hs-source-dirs: test/
-    other-modules:
-        Cautious.CautiousSpec
-        Cautious.Gen
-        TestImport
-        Paths_cautious
-    ghc-options: -threaded -rtsopts -with-rtsopts=-N
+  type: exitcode-stdio-1.0
+  main-is: Spec.hs
+  hs-source-dirs:
+      test/
+  ghc-options: -threaded -rtsopts -with-rtsopts=-N
+  build-depends:
+      QuickCheck
+    , aeson
+    , base >=4.10 && <5
+    , cautious
+    , genvalidity
+    , genvalidity-hspec
+    , genvalidity-hspec-aeson
+    , hspec
+    , hspec-discover
+    , transformers
+    , validity
+  other-modules:
+      Cautious.CautiousSpec
+      TestImport
+      Paths_cautious
+  default-language: Haskell2010
diff --git a/src/Cautious/Gen.hs b/src/Cautious/Gen.hs
new file mode 100644
--- /dev/null
+++ b/src/Cautious/Gen.hs
@@ -0,0 +1,19 @@
+{-# LANGUAGE UndecidableInstances #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
+module Cautious.Gen where
+
+import Cautious.Cautious
+import Cautious.CautiousT
+
+import Data.GenValidity
+
+instance (GenUnchecked a, GenUnchecked w, GenUnchecked e) =>
+         GenUnchecked (Cautious w e a)
+
+instance (GenValid a, GenValid w, GenValid e) => GenValid (Cautious w e a)
+
+instance GenUnchecked (m (Cautious e w a)) =>
+         GenUnchecked (CautiousT e w m a)
+
+instance GenValid (m (Cautious e w a)) => GenValid (CautiousT e w m a)
diff --git a/test/Cautious/Gen.hs b/test/Cautious/Gen.hs
deleted file mode 100644
--- a/test/Cautious/Gen.hs
+++ /dev/null
@@ -1,19 +0,0 @@
-{-# LANGUAGE UndecidableInstances #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-
-module Cautious.Gen where
-
-import TestImport
-
-import Cautious.Cautious
-import Cautious.CautiousT
-
-instance (GenUnchecked a, GenUnchecked w, GenUnchecked e) =>
-         GenUnchecked (Cautious w e a)
-
-instance (GenValid a, GenValid w, GenValid e) => GenValid (Cautious w e a)
-
-instance GenUnchecked (m (Cautious e w a)) =>
-         GenUnchecked (CautiousT e w m a)
-
-instance GenValid (m (Cautious e w a)) => GenValid (CautiousT e w m a)
diff --git a/test/TestImport.hs b/test/TestImport.hs
--- a/test/TestImport.hs
+++ b/test/TestImport.hs
@@ -4,8 +4,6 @@
 
 import Prelude as X
 
-import Data.GenValidity as X
-
 import Test.Hspec as X
 import Test.QuickCheck as X
 
