diff --git a/cabal.project.local b/cabal.project.local
--- a/cabal.project.local
+++ b/cabal.project.local
@@ -1,3 +1,5 @@
+allow-newer:
+  recursion-schemes:template-haskell
 documentation: True
 haddock-hoogle: True
 haddock-internal: True
diff --git a/continued-fraction.cabal b/continued-fraction.cabal
--- a/continued-fraction.cabal
+++ b/continued-fraction.cabal
@@ -1,63 +1,80 @@
-name:                continued-fraction
-version:             0.1.0.6
-synopsis:            Types and functions for working with continued fractions in Haskell
-description:         This package provides facilities for working with both continued fractions
-                     and rational approximants. It uses lists internally, so it may not be suitable
-                     if you need large convergents.
-homepage:            https://hub.darcs.net/vmchale/continued-fraction#readme
-license:             BSD3
-license-file:        LICENSE
-author:              Vanessa McHale
-maintainer:          vamchale@gmail.com
-copyright:           Copyright: (c) 2018 Vanessa McHale
-category:            Math
-build-type:          Simple
-extra-doc-files:     README.md
-extra-source-files:  stack.yaml
-                   , cabal.project.local
-cabal-version:       >=1.18
+cabal-version: 1.18
+name: continued-fraction
+version: 0.1.0.7
+license: BSD3
+license-file: LICENSE
+copyright: Copyright: (c) 2018 Vanessa McHale
+maintainer: vamchale@gmail.com
+author: Vanessa McHale
+homepage: https://hub.darcs.net/vmchale/continued-fraction#readme
+synopsis: Types and functions for working with continued fractions in Haskell
+description:
+    This package provides facilities for working with both continued fractions
+    and rational approximants. It uses lists internally, so it may not be suitable
+    if you need large convergents.
+category: Math
+build-type: Simple
+extra-source-files:
+    stack.yaml
+    cabal.project.local
+extra-doc-files: README.md
 
-Flag development {
-  Description: Enable `-Werror`
-  manual: True
-  default: False
-}
+source-repository head
+    type: darcs
+    location: https://hub.darcs.net/vmchale/continued-fraction
 
+flag development
+    description:
+        Enable `-Werror`
+    default: False
+    manual: True
+
 library
-  hs-source-dirs:      src
-  exposed-modules:     Num.ContinuedFraction
-  build-depends:       base >= 4.9 && < 5
-                     , recursion-schemes >= 5.0
-  default-language:    Haskell2010
-  if flag(development)
-    ghc-options: -Werror
-  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat
+    exposed-modules:
+        Num.ContinuedFraction
+    hs-source-dirs: src
+    default-language: Haskell2010
+    ghc-options: -Wall
+    build-depends:
+        base >=4.9 && <5,
+        recursion-schemes >=5.0
+    
+    if flag(development)
+        ghc-options: -Werror
+    
+    if impl(ghc >=8.0)
+        ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
 
 test-suite continued-fractions-test
-  type:                exitcode-stdio-1.0
-  hs-source-dirs:      test
-  main-is:             Spec.hs
-  build-depends:       base
-                     , continued-fraction
-                     , hspec
-  if flag(development)
-    ghc-options: -Werror
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat
-  default-language:    Haskell2010
+    type: exitcode-stdio-1.0
+    main-is: Spec.hs
+    hs-source-dirs: test
+    default-language: Haskell2010
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+    build-depends:
+        base -any,
+        continued-fraction -any,
+        hspec -any
+    
+    if flag(development)
+        ghc-options: -Werror
+    
+    if impl(ghc >=8.0)
+        ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
 
 benchmark continued-fractions-bench
-  type:                exitcode-stdio-1.0
-  hs-source-dirs:      bench
-  main-is:             Bench.hs
-  build-depends:       base
-                     , continued-fraction
-                     , criterion
-  if flag(development)
-    ghc-options: -Werror
-  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat
-  -- -O2 
-  default-language:    Haskell2010
-
-source-repository head
-  type:     darcs
-  location: https://hub.darcs.net/vmchale/continued-fraction
+    type: exitcode-stdio-1.0
+    main-is: Bench.hs
+    hs-source-dirs: bench
+    default-language: Haskell2010
+    ghc-options: -Wall
+    build-depends:
+        base -any,
+        continued-fraction -any,
+        criterion -any
+    
+    if flag(development)
+        ghc-options: -Werror
+    
+    if impl(ghc >=8.0)
+        ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
