diff --git a/data-clist.cabal b/data-clist.cabal
--- a/data-clist.cabal
+++ b/data-clist.cabal
@@ -5,7 +5,7 @@
              Given that the ring terminiology clashes with certain
              mathematical branches, we're using the term CList or
              CircularList instead.
-Version: 0.0.6
+Version: 0.0.7
 License: BSD3
 License-File: LICENSE
 Author: John Van Enk <vanenkj@gmail.com>
@@ -22,10 +22,12 @@
 
 Library
     Build-Depends: base >= 4 && < 5,
+                   deepseq == 1.1.*,
                    QuickCheck >= 2.4 && < 2.5
 
     Exposed-Modules:
         Data.CircularList
 
     ghc-options:        -Wall
+    gHC-prof-options:   -prof -auto-all
     hs-source-dirs:     src
diff --git a/src/Data/CircularList.hs b/src/Data/CircularList.hs
--- a/src/Data/CircularList.hs
+++ b/src/Data/CircularList.hs
@@ -70,6 +70,7 @@
 ) where
 
 import Data.List(find,unfoldr,foldl')
+import Control.DeepSeq(NFData(..))
 import Control.Monad(join)
 import Test.QuickCheck.Arbitrary
 import Test.QuickCheck.Gen
@@ -326,6 +327,12 @@
 
 instance (Eq a) => Eq (CList a) where
   a == b = any (identical a) . toList $ allRotations b
+
+instance (NFData a) => NFData (CList a) where
+  rnf Empty         = ()
+  rnf (CList l f r) = rnf f
+                      `seq` rnf l
+                      `seq` rnf r
 
 -- |Determine if two 'CList's are structurally identical.
 identical :: (Eq a) => CList a -> CList a -> Bool
