diff --git a/n-tuple.cabal b/n-tuple.cabal
--- a/n-tuple.cabal
+++ b/n-tuple.cabal
@@ -1,5 +1,5 @@
 name:                n-tuple
-version:             0.0.1
+version:             0.0.1.1
 synopsis:            Homogeneous tuples of arbitrary length.
 -- description:
 homepage:            https://github.com/athanclark/n-tuple#readme
diff --git a/src/Data/NTuple.hs b/src/Data/NTuple.hs
--- a/src/Data/NTuple.hs
+++ b/src/Data/NTuple.hs
@@ -4,6 +4,11 @@
   , KindSignatures
   , PolyKinds
   , TypeFamilies
+  , GeneralizedNewtypeDeriving
+  , DeriveGeneric
+  , DeriveDataTypeable
+  , DeriveFunctor
+  , DeriveTraversable
   #-}
 
 module Data.NTuple
@@ -34,10 +39,13 @@
 import Data.Singletons.Prelude
 import Data.Singletons.Prelude.Ord
 
+import Data.Data (Data, Typeable)
+import GHC.Generics (Generic)
 
+
 newtype NTuple (size :: Nat) a = NTuple
   { toVector :: Vector a
-  }
+  } deriving (Eq, Data, Typeable, Generic, Functor, Foldable, Traversable)
 
 
 instance Show a => Show (NTuple size a) where
