diff --git a/Data/Text/Lazy/Encoding/Fusion.hs b/Data/Text/Internal/Lazy/Encoding/Fusion.hs
similarity index 99%
rename from Data/Text/Lazy/Encoding/Fusion.hs
rename to Data/Text/Internal/Lazy/Encoding/Fusion.hs
index f15fabc9d3d5648ddc4a4863556faf78eb3048ef..52ed58d1a27fd056744fb90226adf23bdd181935 100644
--- a/Data/Text/Lazy/Encoding/Fusion.hs
+++ b/Data/Text/Internal/Lazy/Encoding/Fusion.hs
@@ -13,7 +13,7 @@
 -- Fusible 'Stream'-oriented functions for converting between lazy
 -- 'Text' and several common encodings.
 
-module Data.Text.Lazy.Encoding.Fusion
+module Data.Text.Internal.Lazy.Encoding.Fusion
     (
     -- * Streaming
     --  streamASCII
diff --git a/Data/Text/Lazy/Fusion.hs b/Data/Text/Internal/Lazy/Fusion.hs
similarity index 99%
rename from Data/Text/Lazy/Fusion.hs
rename to Data/Text/Internal/Lazy/Fusion.hs
index 783b3134106e4df5f5a09abf9f087991cdde4a19..86c6a4c44685852fd9b2f05cc11c5cf24e6ceb1b 100644
--- a/Data/Text/Lazy/Fusion.hs
+++ b/Data/Text/Internal/Lazy/Fusion.hs
@@ -11,7 +11,7 @@
 --
 -- Core stream fusion functionality for text.
 
-module Data.Text.Lazy.Fusion
+module Data.Text.Internal.Lazy.Fusion
     (
       stream
     , unstream
diff --git a/Data/Text/Lazy/Search.hs b/Data/Text/Internal/Lazy/Search.hs
similarity index 99%
rename from Data/Text/Lazy/Search.hs
rename to Data/Text/Internal/Lazy/Search.hs
index 7a0fd3678af151948e9204bdcd075d4f93033417..5378b07c584e82867678612c9678dc69c06d46fc 100644
--- a/Data/Text/Lazy/Search.hs
+++ b/Data/Text/Internal/Lazy/Search.hs
@@ -14,7 +14,7 @@
 -- Moore, Horspool, Sunday, and Lundh.  Adapted from the strict
 -- implementation.
 
-module Data.Text.Lazy.Search
+module Data.Text.Internal.Lazy.Search
     (
       indices
     ) where
diff --git a/Data/Text/Lazy.hs b/Data/Text/Lazy.hs
index 61a17ecf850e09c905c2b780d7bd93f9491574e4..752abfd192a7b2655a8d80c6ae81c38694f93b49 100644
--- a/Data/Text/Lazy.hs
+++ b/Data/Text/Lazy.hs
@@ -210,13 +210,13 @@ import qualified Data.Text as T
 import qualified Data.Text.Internal as T
 import qualified Data.Text.Internal.Fusion.Common as S
 import qualified Data.Text.Unsafe as T
-import qualified Data.Text.Lazy.Fusion as S
+import qualified Data.Text.Internal.Lazy.Fusion as S
 import Data.Text.Internal.Fusion.Types (PairS(..))
-import Data.Text.Lazy.Fusion (stream, unstream)
+import Data.Text.Internal.Lazy.Fusion (stream, unstream)
 import Data.Text.Lazy.Internal (Text(..), chunk, empty, foldlChunks, foldrChunks)
 import Data.Text.Internal (firstf, safe, textP)
 import qualified Data.Text.Util as U
-import Data.Text.Lazy.Search (indices)
+import Data.Text.Internal.Lazy.Search (indices)
 #if __GLASGOW_HASKELL__ >= 702
 import qualified GHC.CString as GHC
 #else
diff --git a/Data/Text/Lazy/Encoding.hs b/Data/Text/Lazy/Encoding.hs
index 654d01c6aa8f49ce554d49c19f9c994deffc38e5..e4a00a751ec1415bfeb2547e2dcf0948aae10808 100644
--- a/Data/Text/Lazy/Encoding.hs
+++ b/Data/Text/Lazy/Encoding.hs
@@ -57,8 +57,8 @@ import qualified Data.ByteString.Lazy.Internal as B
 import qualified Data.ByteString.Unsafe as B
 import qualified Data.Text.Encoding as TE
 import qualified Data.Text.Lazy as L
-import qualified Data.Text.Lazy.Encoding.Fusion as E
-import qualified Data.Text.Lazy.Fusion as F
+import qualified Data.Text.Internal.Lazy.Encoding.Fusion as E
+import qualified Data.Text.Internal.Lazy.Fusion as F
 import Data.Text.Unsafe (unsafeDupablePerformIO)
 
 -- $strict
diff --git a/benchmarks/haskell/Benchmarks/Stream.hs b/benchmarks/haskell/Benchmarks/Stream.hs
index c8b2da99530052b897a30d5a8e3e13854c26e4cd..3e87a17f1d61f8f099fd4c2c12f98e3bd13334b0 100644
--- a/benchmarks/haskell/Benchmarks/Stream.hs
+++ b/benchmarks/haskell/Benchmarks/Stream.hs
@@ -21,8 +21,8 @@ import qualified Data.Text.Internal.Encoding.Fusion.Common as F
 import qualified Data.Text.Internal.Fusion as T
 import qualified Data.Text.IO as T
 import qualified Data.Text.Lazy.Encoding as TL
-import qualified Data.Text.Lazy.Encoding.Fusion as TL
-import qualified Data.Text.Lazy.Fusion as TL
+import qualified Data.Text.Internal.Lazy.Encoding.Fusion as TL
+import qualified Data.Text.Internal.Lazy.Fusion as TL
 import qualified Data.Text.Lazy.IO as TL
 
 instance NFData a => NFData (Stream a) where
diff --git a/tests/Tests/Properties.hs b/tests/Tests/Properties.hs
index 7058eb6a1b0fd8d0f8290b9a2bb94e8bd6d23988..2f504f14da9f5a0e2b6a8ec0b1bf46134a08f4c3 100644
--- a/tests/Tests/Properties.hs
+++ b/tests/Tests/Properties.hs
@@ -43,9 +43,9 @@ import qualified Data.Text.Lazy.Builder as TB
 import qualified Data.Text.Lazy.Builder.Int as TB
 import qualified Data.Text.Lazy.Builder.RealFloat as TB
 import qualified Data.Text.Lazy.Encoding as EL
-import qualified Data.Text.Lazy.Fusion as SL
+import qualified Data.Text.Internal.Lazy.Fusion as SL
 import qualified Data.Text.Lazy.IO as TL
-import qualified Data.Text.Lazy.Search as S (indices)
+import qualified Data.Text.Internal.Lazy.Search as S (indices)
 import qualified Data.Text.UnsafeShift as U
 import qualified System.IO as IO
 
diff --git a/tests/Tests/QuickCheckUtils.hs b/tests/Tests/QuickCheckUtils.hs
index 3aa5e65ba38bb3fe4c07ffacf5e78d89a2239009..b27299955af00475a1f72e887ad454c5f4e09c06 100644
--- a/tests/Tests/QuickCheckUtils.hs
+++ b/tests/Tests/QuickCheckUtils.hs
@@ -46,7 +46,7 @@ import qualified Data.Text.Encoding.Error as T
 import qualified Data.Text.Internal.Fusion as TF
 import qualified Data.Text.Internal.Fusion.Common as TF
 import qualified Data.Text.Lazy as TL
-import qualified Data.Text.Lazy.Fusion as TLF
+import qualified Data.Text.Internal.Lazy.Fusion as TLF
 import qualified Data.Text.Lazy.Internal as TL
 import qualified System.IO as IO
 
diff --git a/tests/text-tests.cabal b/tests/text-tests.cabal
index b3a9658e44df54374f33437b89a737c1a7f31ba4..e735ca8d9d423a39d4c8f67276c6bb9dec9c7f72 100644
--- a/tests/text-tests.cabal
+++ b/tests/text-tests.cabal
@@ -93,12 +93,12 @@ library
     Data.Text.Lazy.Builder.RealFloat
     Data.Text.Internal.Builder.RealFloat.Functions
     Data.Text.Lazy.Encoding
-    Data.Text.Lazy.Encoding.Fusion
-    Data.Text.Lazy.Fusion
+    Data.Text.Internal.Lazy.Encoding.Fusion
+    Data.Text.Internal.Lazy.Fusion
     Data.Text.Lazy.IO
     Data.Text.Lazy.Internal
     Data.Text.Lazy.Read
-    Data.Text.Lazy.Search
+    Data.Text.Internal.Lazy.Search
     Data.Text.Private
     Data.Text.Read
     Data.Text.Search
diff --git a/text.cabal b/text.cabal
index c95725092fc75fb04aa8604b55511ca95aee0f68..5962aaac74713b98008c5640c69d10fc21a5ffb9 100644
--- a/text.cabal
+++ b/text.cabal
@@ -108,9 +108,9 @@ library
     Data.Text.Internal.Builder.Int.Digits
     Data.Text.Internal.Builder
     Data.Text.Internal.Builder.RealFloat.Functions
-    Data.Text.Lazy.Encoding.Fusion
-    Data.Text.Lazy.Fusion
-    Data.Text.Lazy.Search
+    Data.Text.Internal.Lazy.Encoding.Fusion
+    Data.Text.Internal.Lazy.Fusion
+    Data.Text.Internal.Lazy.Search
     Data.Text.Private
     Data.Text.Search
     Data.Text.Unsafe.Base