diff --git a/cabal.project.local b/cabal.project.local
--- a/cabal.project.local
+++ b/cabal.project.local
@@ -1,7 +1,4 @@
-allow-newer:
-  recursion-schemes:template-haskell
-documentation: True
-haddock-hoogle: True
-haddock-internal: True
+documentation: true
+tests: true
+benchmarks: true
 optimization: 1
-with-compiler: ghc-8.2.2
diff --git a/continued-fraction.cabal b/continued-fraction.cabal
--- a/continued-fraction.cabal
+++ b/continued-fraction.cabal
@@ -1,12 +1,11 @@
 cabal-version: 1.18
 name: continued-fraction
-version: 0.1.0.7
+version: 0.1.0.8
 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
diff --git a/src/Num/ContinuedFraction.hs b/src/Num/ContinuedFraction.hs
--- a/src/Num/ContinuedFraction.hs
+++ b/src/Num/ContinuedFraction.hs
@@ -59,8 +59,7 @@
 -- Just (17 % 12)
 collapseFractionM :: (Integral a) => [Integer] -> Maybe (Ratio a)
 collapseFractionM []     = Nothing
-collapseFractionM [x]    = Just $ fromIntegral x % 1
-collapseFractionM (x:xs) = fmap ((fromIntegral x % 1 +) . (1 /)) (collapseFractionM xs)
+collapseFractionM (x:xs) = Just $ collapseFraction (x:|xs)
 
 -- | Take a non-empty list of integers and return the corresponding rational number.
 --
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-10.2
+resolver: lts-11.3
 packages:
 - '.'
 extra-deps:
