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.8
+version: 0.9
 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
@@ -127,16 +127,25 @@
 {-|
 Extract individual digits of a non-negative integral number.
 -}
-digits :: Integral a => a -> Unfoldr a
-digits = reverse . reverseDigits
+decimalDigits :: Integral a => a -> Unfoldr a
+decimalDigits = reverse . reverseDecimalDigits
 
 {-|
 Extract individual digits of a non-negative integral number in reverse order.
 More efficient than 'digits'.
 -}
-reverseDigits :: Integral a => a -> Unfoldr a
-reverseDigits x = Unfoldr $ \ step init -> let
-  loop x = case divMod x 10 of
+reverseDecimalDigits :: Integral a => a -> Unfoldr a
+reverseDecimalDigits = reverseDigits 10
+
+hexadecimalDigits :: Integral a => a -> Unfoldr a
+hexadecimalDigits = reverse . reverseHexadecimalDigits
+
+reverseHexadecimalDigits :: Integral a => a -> Unfoldr a
+reverseHexadecimalDigits = reverseDigits 16
+
+reverseDigits :: Integral a => a -> a -> Unfoldr a
+reverseDigits radix x = Unfoldr $ \ step init -> let
+  loop x = case divMod x radix of
     (next, digit) -> step digit (if next <= 0 then init else loop next)
   in loop x
 
