diff --git a/preamble.cabal b/preamble.cabal
--- a/preamble.cabal
+++ b/preamble.cabal
@@ -1,67 +1,61 @@
-name: preamble
-version: 0.0.49
-cabal-version: >=1.22
-build-type: Simple
-license: MIT
-license-file: LICENSE
-copyright: Copyright (C) 2016 Swift Navigation, Inc.
-maintainer: Mark Fine <dev@swiftnav.com>
-homepage: https://github.com/swift-nav/preamble
-synopsis: Yet another prelude.
-description:
-    A prelude built on basic-prelude.
-category: Prelude
-author: Swift Navigation Inc.
-
-source-repository head
-    type: git
-    location: git@github.com:swift-nav/preamble.git
+name:                  preamble
+version:               0.0.50
+synopsis:              Yet another prelude.
+description:           A prelude built on basic-prelude.
+homepage:              https://github.com/swift-nav/preamble
+license:               MIT
+license-file:          LICENSE
+author:                Swift Navigation Inc.
+maintainer:            Mark Fine <dev@swiftnav.com>
+copyright:             Copyright (C) 2016 Swift Navigation, Inc.
+category:              Prelude
+build-type:            Simple
+cabal-version:         >= 1.22
 
 library
-    exposed-modules:
-        Preamble
-    build-depends:
-        MonadRandom >=0.4.2.3,
-        aeson >=0.11.3.0,
-        base >=4.8 && <5,
-        basic-prelude >=0.5.2,
-        exceptions >=0.8.3,
-        fast-logger >=2.4.10,
-        lens >=4.13,
-        monad-control >=1.0.1.0,
-        monad-logger >=0.3.24,
-        mtl >=2.2.1,
-        network >=2.6.3.2,
-        resourcet >=1.1.9,
-        safe >=0.3.14,
-        template-haskell >=2.10.0.0,
-        text >=1.2.2.2,
-        text-manipulate >=0.2.0.1,
-        time >=1.5.0.1,
-        transformers-base >=0.4.4,
-        unordered-containers >=0.2.8.0,
-        uuid >=1.3.13
-    default-language: Haskell2010
-    hs-source-dirs: src
-    other-modules:
-        Preamble.Aeson
-        Preamble.Ctx
-        Preamble.Lens
-        Preamble.Prelude
-        Preamble.Stats
-        Preamble.Trace
-        Preamble.Types
-        Preamble.Types.Alias
-        Preamble.Types.Ctx
-        Preamble.Types.Orphan
-        Preamble.Types.Trans
-    ghc-options: -Wall
+  hs-source-dirs:      src
+  exposed-modules:     Preamble
+  other-modules:       Preamble.Aeson
+                     , Preamble.Ctx
+                     , Preamble.Lens
+                     , Preamble.Prelude
+                     , Preamble.Stats
+                     , Preamble.Trace
+                     , Preamble.Types
+                     , Preamble.Types.Alias
+                     , Preamble.Types.Ctx
+                     , Preamble.Types.Orphan
+                     , Preamble.Types.Trans
+  default-language:    Haskell2010
+  ghc-options:         -Wall
+  build-depends:       MonadRandom
+                     , aeson
+                     , base >= 4.8 && < 5
+                     , basic-prelude
+                     , exceptions
+                     , fast-logger
+                     , lens
+                     , monad-control
+                     , monad-logger
+                     , mtl
+                     , network
+                     , resourcet
+                     , safe
+                     , template-haskell
+                     , text
+                     , text-manipulate
+                     , time
+                     , transformers-base
+                     , unordered-containers
+                     , uuid
 
 executable shake-preamble
-    main-is: Shakefile.hs
-    build-depends:
-        base >=4.8 && <5,
-        shakers >=0.0.31
-    default-language: Haskell2010
-    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+  main-is:             Shakefile.hs
+  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
+  build-depends:       base >= 4.8 && < 5
+                     , shakers
+  default-language:    Haskell2010
 
+source-repository head
+  type:                git
+  location:            git@github.com:swift-nav/preamble.git
diff --git a/src/Preamble/Prelude.hs b/src/Preamble/Prelude.hs
--- a/src/Preamble/Prelude.hs
+++ b/src/Preamble/Prelude.hs
@@ -16,6 +16,7 @@
   , boolThrowIO
   , textFromString
   , textShow
+  , stringShow
   , (-/-)
   , (-|-)
   , (-.-)
@@ -74,12 +75,24 @@
 textFromString :: String -> Text
 textFromString = pack
 
+-- | Show text with compatibility.
+--
 textShow :: Show a => a -> Text
 textShow =
 #if MIN_VERSION_basic_prelude(0,6,1)
   textFromString . show
 #else
   show
+#endif
+
+-- | Show string with compatibility.
+--
+stringShow :: Show a => a -> String
+stringShow =
+#if MIN_VERSION_basic_prelude(0,6,1)
+  show
+#else
+  textToString . show
 #endif
 
 -- | </> for IsString.
diff --git a/src/Preamble/Types/Trans.hs b/src/Preamble/Types/Trans.hs
--- a/src/Preamble/Types/Trans.hs
+++ b/src/Preamble/Types/Trans.hs
@@ -36,11 +36,11 @@
   {-# INLINE liftBase #-}
 
 instance MonadBaseControl b m => MonadBaseControl b (TransT c m) where
-    type StM (TransT c m) a = ComposeSt (TransT c) m a
-    liftBaseWith = defaultLiftBaseWith
-    {-# INLINE liftBaseWith #-}
-    restoreM = defaultRestoreM
-    {-# INLINE restoreM #-}
+  type StM (TransT c m) a = ComposeSt (TransT c) m a
+  liftBaseWith = defaultLiftBaseWith
+  {-# INLINE liftBaseWith #-}
+  restoreM = defaultRestoreM
+  {-# INLINE restoreM #-}
 
 instance MonadTransControl (TransT c) where
   type StT (TransT c) a = StT (ReaderT c) a
