diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+# 1.5.0
+
++ Drop QuickCheck dependency (thanks @mmhat !).
+
 # 1.4.0
 
 + Enable GHC 8.4 (thanks @4e6 !).
diff --git a/hjsonpointer.cabal b/hjsonpointer.cabal
--- a/hjsonpointer.cabal
+++ b/hjsonpointer.cabal
@@ -1,5 +1,5 @@
 name:               hjsonpointer
-version:            1.4.0
+version:            1.5.0
 synopsis:           JSON Pointer library
 homepage:           https://github.com/seagreen/hjsonpointer
 license:            MIT
@@ -27,7 +27,6 @@
       base                 >= 4.6 && < 5
     , aeson                >= 0.7
     , hashable             >= 1.2
-    , QuickCheck           >= 2.8
     , unordered-containers >= 0.2
     , text                 >= 1.2
     , vector               >= 0.10
@@ -43,6 +42,7 @@
     OverloadedStrings
   ghc-options:
     -Wall
+    -fno-warn-orphans
   other-modules: Example
   build-depends:
       aeson
diff --git a/src/JSONPointer.hs b/src/JSONPointer.hs
--- a/src/JSONPointer.hs
+++ b/src/JSONPointer.hs
@@ -13,7 +13,6 @@
 import qualified Data.Text           as T
 import qualified Data.Vector         as V
 import           GHC.Generics        (Generic)
-import           Test.QuickCheck
 import           Text.Read           (readMaybe)
 
 --------------------------------------------------
@@ -37,7 +36,7 @@
 
 newtype Pointer
     = Pointer { _unPointer :: [Token] }
-    deriving (Eq, Show, Semigroup, Monoid, Generic, Arbitrary)
+    deriving (Eq, Show, Semigroup, Monoid, Generic)
 
 instance HA.Hashable Pointer
 
@@ -62,9 +61,6 @@
     deriving (Eq, Show, Generic)
 
 instance HA.Hashable Token
-
-instance Arbitrary Token where
-    arbitrary = Token . T.pack <$> arbitrary
 
 -- | This escapes @"/"@ (because it's the token separator character).
 --
diff --git a/test/Unit.hs b/test/Unit.hs
--- a/test/Unit.hs
+++ b/test/Unit.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE StandaloneDeriving #-}
 
 module Main where
 
@@ -13,9 +15,14 @@
 import           Network.HTTP.Types.URI (urlDecode)
 
 import           Test.Hspec
-import           Test.QuickCheck        (property)
+import           Test.QuickCheck        (Arbitrary(..), property)
 
 import qualified Example
+
+deriving instance Arbitrary JP.Pointer
+
+instance Arbitrary JP.Token where
+    arbitrary = JP.Token . T.pack <$> arbitrary
 
 main :: IO ()
 main = hspec $ do
