diff --git a/Data/List/PointedList.hs b/Data/List/PointedList.hs
--- a/Data/List/PointedList.hs
+++ b/Data/List/PointedList.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TemplateHaskell, TypeOperators #-}
+{-# LANGUAGE TypeOperators #-}
 
 -- | An implementation of a zipper-like non-empty list structure that tracks
 --   an index position in the list (the 'focus').
@@ -8,13 +8,10 @@
 
 import Control.Applicative
 import Control.Monad
--- import Control.Lens (set)
 import Data.Binary
-import Data.DeriveTH
 import Data.Foldable hiding (find)
 import Data.List hiding (length, foldl, foldr, find, elem)
 import qualified Data.List as List
-import Data.Maybe
 import Data.Traversable
 
 -- | The implementation of the pointed list structure which tracks the current
@@ -25,7 +22,9 @@
   , _suffix         :: [a]
   } deriving (Eq)
 
-$(derive makeBinary ''PointedList)
+instance Binary a => Binary (PointedList a) where
+  put (PointedList x1 x2 x3) = do put x1; put x2; put x3
+  get = do liftM3 PointedList get get get
 
 -- | Lens compatible with Control.Lens.
 reversedPrefix :: Functor f => ([a] -> f [a]) -> PointedList a -> f (PointedList a)
diff --git a/pointedlist.cabal b/pointedlist.cabal
--- a/pointedlist.cabal
+++ b/pointedlist.cabal
@@ -1,5 +1,5 @@
 Name:          pointedlist
-Version:       0.6
+Version:       0.6.1
 Synopsis:      A zipper-like comonad which works as a list, tracking a position.
 Category:      Data
 Description:
@@ -24,7 +24,6 @@
 Library
   Build-depends: base >= 4 && < 5
   Build-depends: binary
-  Build-depends: derive
 
   Exposed-modules: Data.List.PointedList
                    Data.List.PointedList.Circular
