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.14
+version: 0.9.15
 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
@@ -395,7 +395,7 @@
 and trims their duplicate sequences to single-char.
 Oh yeah, it also trims whitespace from beginning and end.
 -}
-trimWhitespace :: Foldable f => f Char -> Unfoldr Char
+trimWhitespace :: Unfoldr Char -> Unfoldr Char
 trimWhitespace =
   \ foldable ->
     Unfoldr $ \ substep subterm ->
diff --git a/library/DeferredFolds/Util/TextArray.hs b/library/DeferredFolds/Util/TextArray.hs
--- a/library/DeferredFolds/Util/TextArray.hs
+++ b/library/DeferredFolds/Util/TextArray.hs
@@ -1,11 +1,11 @@
 module DeferredFolds.Util.TextArray
 where
 
-import DeferredFolds.Prelude
+import DeferredFolds.Prelude hiding (Array)
+import Data.Text.Array
 import qualified Data.Text.Internal as TextInternal
 import qualified Data.Text.Internal.Encoding.Utf16 as TextUtf16
 import qualified Data.Text.Internal.Unsafe.Char as TextChar
-import qualified Data.Text.Array as TextArray
 
 
 {-|
@@ -14,15 +14,15 @@
 uses a continuation and passes the next offset to it instead of delta.
 -}
 {-# INLINE iter #-}
-iter :: TextArray.Array -> Int -> (Char -> Int -> a) -> a
+iter :: Array -> Int -> (Char -> Int -> a) -> a
 iter arr offset cont =
   let
     b1 =
-      TextArray.unsafeIndex arr offset
+      unsafeIndex arr offset
     in if b1 >= 0xd800 && b1 <= 0xdbff
       then let
         b2 =
-          TextArray.unsafeIndex arr (succ offset)
+          unsafeIndex arr (succ offset)
         char =
           TextUtf16.chr2 b1 b2
         in cont char (offset + 2)
