diff --git a/doctest/DoctestDriver.hs b/doctest/DoctestDriver.hs
new file mode 100644
--- /dev/null
+++ b/doctest/DoctestDriver.hs
@@ -0,0 +1,12 @@
+{-# LANGUAGE CPP #-}
+
+#if MIN_VERSION_GLASGOW_HASKELL(8,4,4,0)
+{-# OPTIONS_GHC -F -pgmF doctest-discover #-}
+#else
+module Main where
+
+import qualified System.IO as IO
+
+main :: IO ()
+main = IO.putStrLn "WARNING: doctest will not run on GHC versions earlier than 8.4.4"
+#endif
diff --git a/hw-hspec-hedgehog.cabal b/hw-hspec-hedgehog.cabal
--- a/hw-hspec-hedgehog.cabal
+++ b/hw-hspec-hedgehog.cabal
@@ -1,60 +1,76 @@
-cabal-version:  2.2
-name:           hw-hspec-hedgehog
-version:        0.1.0.9
-synopsis:       Interoperability between hspec and hedgehog
-description:    Interoperability between hspec and hedgehog.
-category:       Test
-homepage:       https://github.com/haskell-works/hw-hspec-hedgehog#readme
-bug-reports:    https://github.com/haskell-works/hw-hspec-hedgehog/issues
-author:         John Ky
-maintainer:     newhoggy@gmail.com
-copyright:      2017-2019 John Ky
-license:        BSD-3-Clause
-license-file:   LICENSE
-tested-with:    GHC == 8.8.1, GHC == 8.6.5, GHC == 8.4.4, GHC == 8.2.2
-build-type:     Simple
-extra-source-files:
-    README.md
+cabal-version: 2.2
 
+name:                   hw-hspec-hedgehog
+version:                0.1.1.0
+synopsis:               Interoperability between hspec and hedgehog
+description:            Interoperability between hspec and hedgehog.
+category:               Test
+homepage:               https://github.com/haskell-works/hw-hspec-hedgehog#readme
+bug-reports:            https://github.com/haskell-works/hw-hspec-hedgehog/issues
+author:                 John Ky
+maintainer:             newhoggy@gmail.com
+copyright:              2017-2020 John Ky
+license:                BSD-3-Clause
+license-file:           LICENSE
+tested-with:            GHC == 8.10.1, GHC == 8.8.3, GHC == 8.6.5, GHC == 8.4.4
+build-type:             Simple
+extra-source-files:     README.md
+
 source-repository head
   type: git
   location: https://github.com/haskell-works/hw-hspec-hedgehog
 
-common base                 { build-depends: base                 >= 4          && < 5      }
+common base                       { build-depends: base                       >= 4.11       && < 5      }
 
-common hedgehog             { build-depends: hedgehog             >= 0.5        && < 1.1    }
-common hspec                { build-depends: hspec                >= 2.6        && < 2.8    }
-common HUnit                { build-depends: HUnit                >= 1.5        && < 1.7    }
-common call-stack           { build-depends: call-stack           >= 0.1        && < 0.3    }
-common transformers         { build-depends: transformers         >= 0.4        && < 0.6    }
+common doctest                    { build-depends: doctest                    >= 0.16.2     && < 0.17   }
+common doctest-discover           { build-depends: doctest-discover           >= 0.2        && < 0.3    }
+common hedgehog                   { build-depends: hedgehog                   >= 0.5        && < 1.1    }
+common hspec                      { build-depends: hspec                      >= 2.6        && < 2.8    }
+common HUnit                      { build-depends: HUnit                      >= 1.5        && < 1.7    }
+common call-stack                 { build-depends: call-stack                 >= 0.2        && < 0.3    }
+common transformers               { build-depends: transformers               >= 0.4        && < 0.6    }
 
-common common
-  default-language: Haskell2010
+common config
+  default-language:     Haskell2010
+  ghc-options:          -Wall
 
+common hw-hspec-hedgehog
+  build-depends:        hw-hspec-hedgehog
+
 library
-  import:   base, common
-          , call-stack
-          , hedgehog
-          , hspec
-          , HUnit
-          , transformers
-  exposed-modules:  HaskellWorks.Hspec.Hedgehog
-  other-modules:    Paths_hw_hspec_hedgehog
-  autogen-modules:  Paths_hw_hspec_hedgehog
-  hs-source-dirs:   src
+  import:               base, config
+                      , call-stack
+                      , hedgehog
+                      , hspec
+                      , HUnit
+                      , transformers
+  exposed-modules:      HaskellWorks.Hspec.Hedgehog
+  other-modules:        Paths_hw_hspec_hedgehog
+  autogen-modules:      Paths_hw_hspec_hedgehog
+  hs-source-dirs:       src
 
 test-suite hw-hspec-hedgehog-test
-  import:   base, common
-          , call-stack
-          , hedgehog
-          , hspec
-          , HUnit
-  type: exitcode-stdio-1.0
-  main-is: Spec.hs
-  other-modules:
-      HaskellWorks.Hspec.HedgehogSpec
-      Paths_hw_hspec_hedgehog
-  hs-source-dirs:     test
-  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
-  build-depends:      hw-hspec-hedgehog
-  build-tool-depends: hspec-discover:hspec-discover
+  import:               base, config
+                      , call-stack
+                      , hedgehog
+                      , hspec
+                      , HUnit
+  type:                 exitcode-stdio-1.0
+  main-is:              Spec.hs
+  other-modules:        HaskellWorks.Hspec.HedgehogSpec
+  hs-source-dirs:       test
+  ghc-options:          -threaded -rtsopts -with-rtsopts=-N
+  build-depends:        hw-hspec-hedgehog
+  build-tool-depends:   hspec-discover:hspec-discover
+
+test-suite doctest
+  import:               base, config
+                      , doctest
+                      , doctest-discover
+                      , hw-hspec-hedgehog
+  default-language:     Haskell2010
+  type:                 exitcode-stdio-1.0
+  ghc-options:          -threaded
+  main-is:              DoctestDriver.hs
+  HS-Source-Dirs:       doctest
+  build-tool-depends:   doctest-discover:doctest-discover
