diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -4,7 +4,7 @@
 
 module Main where
 
-import           Protolude
+import           Verset
 import qualified Data.Text as Txt
 import qualified Data.ByteString.Lazy as BSL
 import           Text.Show.Pretty (ppShow)
diff --git a/hyraxAbif.cabal b/hyraxAbif.cabal
--- a/hyraxAbif.cabal
+++ b/hyraxAbif.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                hyraxAbif
-version:             0.2.4.2
+version:             0.2.4.4
 synopsis:            Modules for parsing, generating and manipulating AB1 files.
 homepage:            https://github.com/hyraxbio/hyraxAbif/#readme
 license:             BSD-3-Clause OR Apache-2.0
@@ -43,14 +43,14 @@
                      , Examples.RemoveComments
                      , Examples.ReadAb1
   build-depends:       base            >= 4.9.1.0 && < 5
-                     , protolude       >= 0.3.0 && < 0.4
-                     , binary          >= 0.8.8 && < 0.9
-                     , bytestring      >= 0.10.12 && < 0.12
+                     , verset          >= 0.0.1.8 && < 0.0.2.0
+                     , binary          >= 0.8.9 && < 0.9
+                     , bytestring      >= 0.11.3 && < 0.12
                      , directory       >= 1.3.6 && < 1.4
                      , filepath        >= 1.4.2 && < 1.5
                      , hscolour        >= 1.24.4 && < 1.25
                      , pretty-show     >= 1.10 && < 1.11
-                     , text            >= 1.2.4 && < 1.3
+                     , text            >= 1.2.5 && < 2.1
   default-language:    Haskell2010
 
 
@@ -60,9 +60,9 @@
   ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wimplicit-prelude -Wcompat -Wredundant-constraints -Wnoncanonical-monad-instances
   build-depends:       base            >= 4.9.1.0 && < 5
                      , hyraxAbif
-                     , protolude       >= 0.3.0 && < 0.4
-                     , text            >= 1.2.4 && < 1.3
-                     , bytestring      >= 0.10.12 && < 0.12
+                     , verset          >= 0.0.1.8 && < 0.0.2.0
+                     , text            >= 1.2.5 && < 2.1
+                     , bytestring      >= 0.11.3 && < 0.12
                      , pretty-show     >= 1.10 && < 1.11
                      , hscolour        >= 1.24.4 && < 1.25
   default-language:    Haskell2010
@@ -73,10 +73,10 @@
   main-is:             Tests.hs
   build-depends:       base            >= 4.9.1.0  && < 5
                      , hyraxAbif
-                     , protolude       >= 0.3.0 && < 0.4
-                     , text            >= 1.2.4 && < 1.3
-                     , bytestring      >= 0.10.12 && < 0.12
-                     , binary          >= 0.8.8 && < 0.9
+                     , verset          >= 0.0.1.8 && < 0.0.2.0
+                     , text            >= 1.2.5 && < 2.1
+                     , bytestring      >= 0.11.3 && < 0.12
+                     , binary          >= 0.8.9 && < 0.9
                      , hedgehog
   other-modules:       AbifTests
                      , FastaTests
diff --git a/src/Examples/AddComment.hs b/src/Examples/AddComment.hs
--- a/src/Examples/AddComment.hs
+++ b/src/Examples/AddComment.hs
@@ -12,7 +12,7 @@
 -}
 module Examples.AddComment where
 
-import           Protolude
+import           Verset
 
 import qualified Hyrax.Abif.Read as H
 import qualified Hyrax.Abif.Write as H
diff --git a/src/Examples/ReadAb1.hs b/src/Examples/ReadAb1.hs
--- a/src/Examples/ReadAb1.hs
+++ b/src/Examples/ReadAb1.hs
@@ -12,7 +12,7 @@
 -}
 module Examples.ReadAb1 where
 
-import           Protolude
+import           Verset
 
 import qualified Hyrax.Abif.Read as H
 
diff --git a/src/Examples/RemoveComments.hs b/src/Examples/RemoveComments.hs
--- a/src/Examples/RemoveComments.hs
+++ b/src/Examples/RemoveComments.hs
@@ -12,7 +12,7 @@
 -}
 module Examples.RemoveComments where
 
-import           Protolude
+import           Verset
 
 import qualified Hyrax.Abif as H
 import qualified Hyrax.Abif.Read as H
diff --git a/src/Hyrax/Abif.hs b/src/Hyrax/Abif.hs
--- a/src/Hyrax/Abif.hs
+++ b/src/Hyrax/Abif.hs
@@ -27,7 +27,7 @@
     , describeElemType
     ) where
 
-import           Protolude
+import           Verset
 import qualified Data.ByteString.Lazy as BSL
 
 
diff --git a/src/Hyrax/Abif/Fasta.hs b/src/Hyrax/Abif/Fasta.hs
--- a/src/Hyrax/Abif/Fasta.hs
+++ b/src/Hyrax/Abif/Fasta.hs
@@ -16,7 +16,7 @@
     , parseFasta
     ) where
 
-import           Protolude hiding (lines)
+import           Verset hiding (lines)
 import qualified Data.Text as Txt
 
 -- | FASTA data
diff --git a/src/Hyrax/Abif/Generate.hs b/src/Hyrax/Abif/Generate.hs
--- a/src/Hyrax/Abif/Generate.hs
+++ b/src/Hyrax/Abif/Generate.hs
@@ -91,7 +91,7 @@
     , complementNucleotides
     ) where
 
-import           Protolude
+import           Verset
 import qualified Data.Text as Txt
 import qualified Data.Text.Encoding as TxtE
 import qualified Data.List as Lst
diff --git a/src/Hyrax/Abif/Read.hs b/src/Hyrax/Abif/Read.hs
--- a/src/Hyrax/Abif/Read.hs
+++ b/src/Hyrax/Abif/Read.hs
@@ -36,7 +36,7 @@
     , getDirectory
     ) where
 
-import           Protolude
+import           Verset
 import qualified Data.Text as Txt
 import qualified Data.Text.Encoding as TxtE
 import qualified Data.Binary as B
@@ -171,7 +171,7 @@
     readArray :: B.Get n -> B.Get [n]
     readArray getFn = do
       e <- B.isEmpty
-      if e then return []
+      if e then pure []
       else do
         c <- getFn
         cs <- readArray getFn
diff --git a/src/Hyrax/Abif/Write.hs b/src/Hyrax/Abif/Write.hs
--- a/src/Hyrax/Abif/Write.hs
+++ b/src/Hyrax/Abif/Write.hs
@@ -34,7 +34,7 @@
     , Base (..)
     ) where
 
-import           Protolude
+import           Verset
 import qualified Data.Text as Txt
 import qualified Data.Text.Encoding as TxtE
 import qualified Data.Binary as B
diff --git a/test/AbifTests.hs b/test/AbifTests.hs
--- a/test/AbifTests.hs
+++ b/test/AbifTests.hs
@@ -5,7 +5,7 @@
 module AbifTests (tests) where
 
 
-import           Protolude
+import           Verset
 import qualified Data.List as Lst
 import qualified Data.Text as Txt
 import qualified Data.Text.Encoding as TxtE
@@ -120,7 +120,7 @@
 readArray :: B.Get n -> B.Get [n]
 readArray getFn = do
   e <- B.isEmpty
-  if e then return []
+  if e then pure []
   else do
     c <- getFn
     cs <- readArray getFn
diff --git a/test/FastaTests.hs b/test/FastaTests.hs
--- a/test/FastaTests.hs
+++ b/test/FastaTests.hs
@@ -4,7 +4,7 @@
 
 module FastaTests (tests) where
 
-import           Protolude
+import           Verset
 import           Hedgehog
 import qualified Hedgehog.Gen as Gen
 
diff --git a/test/Generators.hs b/test/Generators.hs
--- a/test/Generators.hs
+++ b/test/Generators.hs
@@ -3,7 +3,7 @@
 
 module Generators where
 
-import           Protolude
+import           Verset
 import qualified Data.Text as Txt
 import           Hedgehog
 import qualified Hedgehog.Gen as Gen
diff --git a/test/Tests.hs b/test/Tests.hs
--- a/test/Tests.hs
+++ b/test/Tests.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE NoImplicitPrelude #-}
 
-import           Protolude
+import           Verset
 import qualified System.IO as IO
 
 import qualified AbifTests
