diff --git a/deferred-folds.cabal b/deferred-folds.cabal
--- a/deferred-folds.cabal
+++ b/deferred-folds.cabal
@@ -1,5 +1,5 @@
 name: deferred-folds
-version: 0.9.10.1
+version: 0.9.11
 category: Folding
 synopsis: Abstractions over deferred folds
 description:
@@ -38,7 +38,7 @@
     DeferredFolds.Prelude
   build-depends:
     base >=4.9 && <5,
-    bytestring >=0.10 && <0.11,
+    bytestring >=0.10 && <0.12,
     containers >=0.5 && <0.7,
     foldl >=1 && <2,
     hashable >=1 && <2,
diff --git a/library/DeferredFolds/Defs/Unfoldr.hs b/library/DeferredFolds/Defs/Unfoldr.hs
--- a/library/DeferredFolds/Defs/Unfoldr.hs
+++ b/library/DeferredFolds/Defs/Unfoldr.hs
@@ -319,3 +319,20 @@
 
 snoc :: a -> Unfoldr a -> Unfoldr a
 snoc a (Unfoldr unfoldr) = Unfoldr $ \ step init -> unfoldr step (step a init)
+
+{-|
+Insert a separator value between each element.
+
+Behaves the same way as 'Data.List.intersperse'.
+-}
+{-# INLINE intersperse #-}
+intersperse :: a -> Unfoldr a -> Unfoldr a
+intersperse sep (Unfoldr unfoldr) =
+  Unfoldr $ \ step init ->
+    unfoldr
+      (\ a next first ->
+        if first
+          then step a (next False)
+          else step sep (step a (next False)))
+      (const init)
+      True
diff --git a/library/DeferredFolds/Types.hs b/library/DeferredFolds/Types.hs
--- a/library/DeferredFolds/Types.hs
+++ b/library/DeferredFolds/Types.hs
@@ -13,7 +13,7 @@
 
 [Intuition]
 
-The intuition of what this abstraction is all about can be derived from lists.
+The intuition for this abstraction can be derived from lists.
 
 Let's consider the `Data.List.foldl'` function for lists:
 
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -24,4 +24,8 @@
     testProperty "takeWhile odd" $ \ (list :: [Int]) ->
     takeWhile odd list ===
     toList (Unfoldr.takeWhile odd (Unfoldr.foldable list))
+    ,
+    testProperty "intersperse" $ \ (list :: [Char]) -> 
+    intersperse ',' list ===
+    toList (Unfoldr.intersperse ',' (Unfoldr.foldable list))
   ]
