diff --git a/interlude-l.cabal b/interlude-l.cabal
--- a/interlude-l.cabal
+++ b/interlude-l.cabal
@@ -1,5 +1,5 @@
 name:                interlude-l
-version:             0.1.0.4
+version:             0.1.0.5
 synopsis:            Prelude replacement based on protolude
 description:         Prelude replacement based on protolude
 license:             BSD3
@@ -16,8 +16,8 @@
   exposed-modules:     Interlude
   default-language:    Haskell2010
   build-depends:       base >= 4.7 && < 5
-                     , protolude == 0.1.2
-                     , string-conv == 0.1
+                     , protolude == 0.1.*
+                     , string-conv == 0.1.*
                      , exceptions == 0.8.*
                      , mtl == 2.2.*
                      , lens == 4.13.*
@@ -27,4 +27,5 @@
                      , mtl == 2.2.*
                      , monad-control
                      , MonadRandom
+                     , text == 1.2.*
   ghc-options:         -Wall
diff --git a/src/Interlude.hs b/src/Interlude.hs
--- a/src/Interlude.hs
+++ b/src/Interlude.hs
@@ -5,7 +5,7 @@
                  , pshow, perror, pread, noWarnUndefined, perrorToFile ) where
 
 import qualified Prelude
-import Protolude as X hiding ( (&), catch, throw, try, (<.>), wait, error, filter, ordNub
+import Protolude as X hiding ( (&), catch, try, (<.>), wait, error, filter, ordNub
                              , catMaybes, mapMaybe, handle, catches, Handler(..) )
 import Prelude as X (error)
 import Control.Monad.Catch as X ( MonadThrow, MonadCatch, catch, throwM, try, handle, catches
@@ -17,7 +17,6 @@
 import Control.Lens as X (view)
 import Data.Aeson.TH as X
 import Data.Aeson as X (ToJSON, FromJSON)
-import Data.Typeable as X (Typeable)
 import Data.Coerce as X
 import Data.Char as X
 import Data.Witherable as X
@@ -25,8 +24,9 @@
 import Control.Monad.Trans.Control as X (MonadBaseControl, MonadTransControl)
 import Control.Monad.Random as X
 import GHC.IO
-import System.IO (writeFile)
 
+import qualified Data.Text as Text
+
 unsafeTail :: [a] -> [a]
 unsafeTail = Prelude.tail
 
@@ -51,7 +51,7 @@
 noWarnUndefined :: a
 noWarnUndefined = Prelude.undefined
 
-perrorToFile :: StringConv stringLike String => Text -> stringLike -> a
+perrorToFile :: StringConv stringLike Text => Text -> stringLike -> a
 perrorToFile path err = unsafePerformIO $ do
     writeFile (toS path) (toS err)
-    perror (take 100 (toS err :: String) <> "...REST OF ERROR IN " <> toS path)
+    perror (Text.take 100 (toS err :: Text) <> "...REST OF ERROR IN " <> toS path)
