diff --git a/concise.cabal b/concise.cabal
--- a/concise.cabal
+++ b/concise.cabal
@@ -1,12 +1,12 @@
 name:                concise
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Utilities for Control.Lens.Cons
 description:
   concise provides a handful of functions to extend what you can
   do with Control.Lens.Cons.
 
-homepage:            https://github.com/frasertweedal/hs-concise
-bug-reports:         https://github.com/frasertweedal/hs-concise/issues
+homepage:            https://github.com/frasertweedale/hs-concise
+bug-reports:         https://github.com/frasertweedale/hs-concise/issues
 license:             BSD3
 license-file:        LICENSE
 author:              Fraser Tweedale
@@ -16,6 +16,9 @@
 build-type:          Simple
 extra-source-files:  README.rst
 cabal-version:       >=1.10
+tested-with:
+  GHC==7.8.4, GHC==7.10.2, GHC==7.10.3
+  , GHC==8.0.1, GHC==8.0.2, GHC==8.2.2
 
 source-repository head
   type: git
@@ -24,7 +27,7 @@
 library
   hs-source-dirs:      src
   default-language:    Haskell2010
-  ghc-options:  -O2 -Wall
+  ghc-options:  -Wall
   exposed-modules:
     Control.Lens.Cons.Extras
   build-depends:
diff --git a/src/Control/Lens/Cons/Extras.hs b/src/Control/Lens/Cons/Extras.hs
--- a/src/Control/Lens/Cons/Extras.hs
+++ b/src/Control/Lens/Cons/Extras.hs
@@ -67,7 +67,12 @@
 --
 -- > recons . recons ≡ id
 --
-{-# NOINLINE [2] recons #-}
+-- The @NOINLINE@ pragma is used to ensure that @recons@ does not
+-- get inlined into function that are polymorphic in @s1@ or @s2@.
+-- Such functions should use the @INLINE@ pragma to give rewrite
+-- rules the best chance of firing.
+--
+{-# NOINLINE recons #-}
 recons :: (Cons s1 s1 a a, Cons s2 s2 a a, AsEmpty s2) => Getter s1 s2
 recons = to (unfoldr uncons)
 
