diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+concurrent-output (1.7.9) unstable; urgency=medium
+
+  * Allow lazy text to be used as an Outputable value, and as
+    the content of a Region.
+
+ -- Joey Hess <id@joeyh.name>  Sun, 12 Feb 2017 18:13:47 -0400
+
 concurrent-output (1.7.8) unstable; urgency=medium
 
   * Update directory dep to allow 1.3.
diff --git a/System/Console/Concurrent/Internal.hs b/System/Console/Concurrent/Internal.hs
--- a/System/Console/Concurrent/Internal.hs
+++ b/System/Console/Concurrent/Internal.hs
@@ -28,6 +28,7 @@
 import qualified System.Process as P
 import qualified Data.Text as T
 import qualified Data.Text.IO as T
+import qualified Data.Text.Lazy as L
 import Control.Applicative
 import Prelude
 
@@ -135,6 +136,11 @@
 
 instance Outputable T.Text where
 	toOutput = id
+
+-- | Note that using a lazy Text as an Outputable value 
+-- will buffer it all in memory.
+instance Outputable L.Text where
+	toOutput = toOutput . L.toStrict
 
 instance Outputable String where
 	toOutput = toOutput . T.pack
diff --git a/System/Console/Regions.hs b/System/Console/Regions.hs
--- a/System/Console/Regions.hs
+++ b/System/Console/Regions.hs
@@ -114,6 +114,7 @@
 import Data.String
 import Data.Char
 import qualified Data.Text as T
+import qualified Data.Text.Lazy as L
 import qualified Data.Text.IO as T
 import Data.Text (Text)
 import Control.Monad
@@ -231,6 +232,10 @@
 	toRegionContent = fromOutput
 
 instance ToRegionContent Text where
+	toRegionContent = fromOutput
+
+-- | Note that using a lazy Text in a region will buffer it all in memory.
+instance ToRegionContent L.Text where
 	toRegionContent = fromOutput
 
 fromOutput :: Outputable v => v -> RegionContent
diff --git a/concurrent-output.cabal b/concurrent-output.cabal
--- a/concurrent-output.cabal
+++ b/concurrent-output.cabal
@@ -1,5 +1,5 @@
 Name: concurrent-output
-Version: 1.7.8
+Version: 1.7.9
 Cabal-Version: >= 1.8
 License: BSD2
 Maintainer: Joey Hess <id@joeyh.name>
