diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
 
+## 0.1.4
+### Changed
+- Constrain imports to avoid clashes with a QuickCheck function.
+
 ## 0.1.3
 ### Added
 - Hashable instances for various types.
diff --git a/secp256k1-haskell.cabal b/secp256k1-haskell.cabal
--- a/secp256k1-haskell.cabal
+++ b/secp256k1-haskell.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: b7bef3084b490638feba2c057d48b0e54085eca04ef7792e228bbba4f1f65d27
+-- hash: 58645b833648dc708bc3a12e73c150371aa406be204c2cf66bedc596427e8593
 
 name:           secp256k1-haskell
-version:        0.1.3
+version:        0.1.4
 synopsis:       Bindings for secp256k1 library from Bitcoin Core
 description:    Sign and verify signatures using the very fast C secp256k1 library from Pieter Wuille. Has Haskell types and abstractions for keys and signatures.
 category:       Crypto
diff --git a/src/Crypto/Secp256k1.hs b/src/Crypto/Secp256k1.hs
--- a/src/Crypto/Secp256k1.hs
+++ b/src/Crypto/Secp256k1.hs
@@ -58,22 +58,28 @@
     , combinePubKeys
     ) where
 
-import           Control.Monad
-import           Crypto.Secp256k1.Internal
+import           Control.Monad             (replicateM, unless, (<=<))
 import           Data.ByteString           (ByteString)
 import qualified Data.ByteString           as BS
 import qualified Data.ByteString.Base16    as B16
 import           Data.ByteString.Short     (fromShort, toShort)
-import           Data.Hashable
-import           Data.Maybe
-import           Data.Serialize
-import           Data.String
-import           Data.String.Conversions
-import           Foreign
-import           GHC.Generics
-import           System.IO.Unsafe
-import           Test.QuickCheck
-import           Text.Read
+import           Data.Hashable             (Hashable (..))
+import           Data.Maybe                (fromJust, fromMaybe, isJust)
+import           Data.Serialize            (decode, encode)
+import           Data.String               (IsString (..))
+import           Data.String.Conversions   (ConvertibleStrings, cs)
+import           Foreign                   (ForeignPtr (..), alloca,
+                                            allocaArray, allocaBytes,
+                                            mallocForeignPtr, nullFunPtr,
+                                            nullPtr, peek, poke, pokeArray,
+                                            withForeignPtr)
+import           System.IO.Unsafe          (unsafePerformIO)
+import           Test.QuickCheck           (Arbitrary (..),
+                                            arbitraryBoundedRandom, suchThat)
+import           Text.Read                 (Lexeme (String), lexP, parens,
+                                            pfail, readPrec)
+
+import           Crypto.Secp256k1.Internal
 
 newtype PubKey = PubKey (ForeignPtr PubKey64)
 newtype Msg = Msg (ForeignPtr Msg32)
