diff --git a/library/PrimitiveExtras/SparseSmallArray.hs b/library/PrimitiveExtras/SparseSmallArray.hs
--- a/library/PrimitiveExtras/SparseSmallArray.hs
+++ b/library/PrimitiveExtras/SparseSmallArray.hs
@@ -11,6 +11,7 @@
   lookup,
   focusAt,
   toMaybeList,
+  toIndexedList,
   elementsUnfold,
   elementsUnfoldM,
   elementsListT,
@@ -120,6 +121,10 @@
 toMaybeList ssa = do
   i <- Bitmap.allBitsList
   return (lookup i ssa)
+
+{-# INLINE toIndexedList #-}
+toIndexedList :: SparseSmallArray e -> [(Int, e)]
+toIndexedList = catMaybes . zipWith (\i -> fmap (i,)) [0..] . toMaybeList
 
 {-# INLINE elementsUnfold #-}
 elementsUnfold :: SparseSmallArray e -> Unfold e
diff --git a/primitive-extras.cabal b/primitive-extras.cabal
--- a/primitive-extras.cabal
+++ b/primitive-extras.cabal
@@ -1,5 +1,5 @@
 name: primitive-extras
-version: 0.6.6
+version: 0.6.7
 category: Primitive
 synopsis: Extras for the "primitive" library
 homepage: https://github.com/metrix-ai/primitive-extras
