diff --git a/Control/Monad/Atom.hs b/Control/Monad/Atom.hs
--- a/Control/Monad/Atom.hs
+++ b/Control/Monad/Atom.hs
@@ -11,6 +11,7 @@
     , evalAtomT
     , runAtom
     , runAtomT
+    , atoms
     )
 where
 import Control.Monad.State
@@ -26,7 +27,7 @@
 data AtomTable = T { lastID :: {-# UNPACK #-} !Int 
                    , to     :: Map.Map Blob Int 
                    , from   :: IntMap.IntMap Blob } 
-                   deriving (Eq,Show)
+                   
 
 
 instance B.Binary AtomTable where
@@ -94,6 +95,10 @@
 
 newtype Atom r = Atom (AtomT Identity r)
     deriving (Functor,Monad,MonadAtom)
+
+-- | The list of atoms (as Ints) stored in the atom table
+atoms :: AtomTable -> [Int]
+atoms = IntMap.keys . from
 
 enc = Strict.concat . Lazy.toChunks . B.encode
 dec = B.decode . Lazy.fromChunks . return
diff --git a/monad-atom.cabal b/monad-atom.cabal
--- a/monad-atom.cabal
+++ b/monad-atom.cabal
@@ -7,7 +7,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.1.1
+Version:             0.2.0
 
 -- A short (one-line) description of the package.
 Synopsis:            Monadically convert objects to unique atoms and back.
