diff --git a/deferred-folds.cabal b/deferred-folds.cabal
--- a/deferred-folds.cabal
+++ b/deferred-folds.cabal
@@ -1,7 +1,7 @@
 name:
   deferred-folds
 version:
-  0.6.3
+  0.6.4
 category:
   Folding
 synopsis:
diff --git a/library/DeferredFolds/Unfold.hs b/library/DeferredFolds/Unfold.hs
--- a/library/DeferredFolds/Unfold.hs
+++ b/library/DeferredFolds/Unfold.hs
@@ -107,6 +107,8 @@
   {-# INLINE foldl' #-}
   foldl' step init (Unfold run) = run step init
 
+instance Eq a => Eq (Unfold a) where
+  (==) left right = toList left == toList right
 
 {-| Apply a Gonzalez fold -}
 {-# INLINE fold #-}
diff --git a/library/DeferredFolds/UnfoldM.hs b/library/DeferredFolds/UnfoldM.hs
--- a/library/DeferredFolds/UnfoldM.hs
+++ b/library/DeferredFolds/UnfoldM.hs
@@ -59,6 +59,9 @@
     where
       identityStep state input = return (step state input)
 
+instance Eq a => Eq (UnfoldM Identity a) where
+  (==) left right = toList left == toList right
+
 {-| Perform a monadic strict left fold -}
 {-# INLINE foldlM' #-}
 foldlM' :: Monad m => (output -> input -> m output) -> output -> UnfoldM m input -> m output
