diff --git a/creatur.cabal b/creatur.cabal
--- a/creatur.cabal
+++ b/creatur.cabal
@@ -1,5 +1,5 @@
 Name:              creatur
-Version:           5.2.8
+Version:           5.2.9
 Stability:         experimental
 Synopsis:          Framework for artificial life experiments.
 Description:       A software framework for automating experiments
@@ -36,7 +36,7 @@
 source-repository this
   type:     git
   location: https://github.com/mhwombat/creatur.git
-  tag:      5.2.7
+  tag:      5.2.9
 
 library
   GHC-Options:      -Wall -fno-warn-orphans
diff --git a/src/ALife/Creatur/AgentNamer.hs b/src/ALife/Creatur/AgentNamer.hs
--- a/src/ALife/Creatur/AgentNamer.hs
+++ b/src/ALife/Creatur/AgentNamer.hs
@@ -33,7 +33,7 @@
   {
     prefix :: String,
     counter :: PersistentCounter
-  }
+  } deriving (Show, Eq)
 
 mkSimpleAgentNamer :: String -> FilePath -> SimpleAgentNamer
 mkSimpleAgentNamer s f = SimpleAgentNamer s $ mkPersistentCounter f
diff --git a/src/ALife/Creatur/Checklist.hs b/src/ALife/Creatur/Checklist.hs
--- a/src/ALife/Creatur/Checklist.hs
+++ b/src/ALife/Creatur/Checklist.hs
@@ -39,7 +39,7 @@
     tInitialised :: Bool,
     tStatus :: Status,
     tFilename :: FilePath
-  } deriving Show
+  } deriving (Show, Eq)
 
 -- | Creates a counter that will store its value in the specified file.
 mkPersistentChecklist :: FilePath -> PersistentChecklist
diff --git a/src/ALife/Creatur/Counter.hs b/src/ALife/Creatur/Counter.hs
--- a/src/ALife/Creatur/Counter.hs
+++ b/src/ALife/Creatur/Counter.hs
@@ -35,7 +35,7 @@
     cInitialised :: Bool,
     cValue :: Int,
     cFilename :: FilePath
-  } deriving Show
+  } deriving (Show, Eq)
 
 -- | Creates a counter that will store its value in the specified file.
 mkPersistentCounter :: FilePath -> PersistentCounter
diff --git a/src/ALife/Creatur/Database/FileSystem.hs b/src/ALife/Creatur/Database/FileSystem.hs
--- a/src/ALife/Creatur/Database/FileSystem.hs
+++ b/src/ALife/Creatur/Database/FileSystem.hs
@@ -39,7 +39,7 @@
     initialised :: Bool,
     mainDir :: FilePath,
     archiveDir :: FilePath
-  } deriving Show
+  } deriving (Show, Eq)
 
 instance Database (FSDatabase r) where
   type DBRecord (FSDatabase r) = r
diff --git a/src/ALife/Creatur/Logger.hs b/src/ALife/Creatur/Logger.hs
--- a/src/ALife/Creatur/Logger.hs
+++ b/src/ALife/Creatur/Logger.hs
@@ -39,7 +39,7 @@
     expFilename :: FilePath,
     maxRecordsPerFile :: Int,
     recordCount :: Int
-  } deriving Show
+  } deriving (Show, Eq)
 
 -- | @'mkSimpleRotatingLogger' d prefix n@ creates a logger that will write to
 --   directory @d@. The log \"rotates\" (starts a new log file) every @n@
diff --git a/src/ALife/Creatur/Universe.hs b/src/ALife/Creatur/Universe.hs
--- a/src/ALife/Creatur/Universe.hs
+++ b/src/ALife/Creatur/Universe.hs
@@ -278,7 +278,7 @@
     suDB :: (FS.FSDatabase a),
     suNamer :: N.SimpleAgentNamer,
     suChecklist :: CL.PersistentChecklist
-  }
+  } deriving (Show, Eq)
 
 instance (A.Agent a, Serialize a) => Universe (SimpleUniverse a) where
   type Agent (SimpleUniverse a) = a
