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.7.1
+version: 0.7.2
 category: Folding
 synopsis: Abstractions over deferred folds
 description:
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
@@ -152,3 +152,11 @@
 -}
 reverse :: Unfoldr a -> Unfoldr a
 reverse (Unfoldr unfoldr) = Unfoldr $ \ step -> unfoldr (\ a f -> f . step a) id
+
+{-|
+Lift into an unfold, which produces pairs with index.
+-}
+zipWithIndex :: Unfoldr a -> Unfoldr (Int, a)
+zipWithIndex (Unfoldr unfoldr) = Unfoldr $ \ step init -> snd $ unfoldr
+  (\ a (index, state) -> (succ index, step (index, a) state))
+  (0, init)
