diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
 
 ## Unreleased
 
+## v0.2.0.3 (2020-04-26)
+
++ Commented out `interpolatedstring-perl6` benchmarks, since that library
+  does not build on GHC 8.8.2
+
 ## v0.2.0.2 (2020-04-25)
 
 + Updated interpolation parser to use enabled language extensions
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -238,5 +238,5 @@
 `stack bench`.
 
 (NB: If you're attempting to reproduce these benchmarks, note that the
-benchmarks for **Interpolation** are commented out by default, due to
-that package not being in Stackage.)
+benchmarks for **Interpolation** and **interpolatedstring-perl6** are commented
+out by default, due to those packages not being in latest Stackage.)
diff --git a/bench/Bench.hs b/bench/Bench.hs
--- a/bench/Bench.hs
+++ b/bench/Bench.hs
@@ -14,7 +14,7 @@
 import           "formatting" Formatting                                  ( (%) )
 import qualified "formatting" Formatting                                  as F
 import qualified "formatting" Formatting.ShortFormatters                  as F
-import           "interpolatedstring-perl6" Text.InterpolatedString.Perl6 as P
+-- import           "interpolatedstring-perl6" Text.InterpolatedString.Perl6 as P
 import qualified "neat-interpolation" NeatInterpolation                   as NI
 
 import Test.QuickCheck
@@ -35,8 +35,8 @@
 -- stringN :: String -> String
 -- stringN s = [str|A fine day to die, $s$.|]
 
-stringP :: String -> String
-stringP str = [qc|A fine day to die, {str}.|]
+-- stringP :: String -> String
+-- stringP str = [qc|A fine day to die, {str}.|]
 
 --------------------------------------------------------------------------------
 -- Interpolating Text
@@ -54,8 +54,8 @@
 -- textN :: T.Text -> T.Text
 -- textN t = [str|A fine day to die, $t$.|]
 
-textP :: T.Text -> T.Text
-textP t = [qc|A fine day to die, {t}.|]
+-- textP :: T.Text -> T.Text
+-- textP t = [qc|A fine day to die, {t}.|]
 
 textNI :: T.Text -> T.Text
 textNI t = [NI.text|A fine day to die, $t.|]
@@ -73,8 +73,8 @@
 -- byteStringN :: B.ByteString -> B.ByteString
 -- byteStringN b = [str|A fine day to die, $b$.|]
 
-byteStringP :: B.ByteString -> B.ByteString
-byteStringP b = [qc|A fine day to die, {b}.|]
+-- byteStringP :: B.ByteString -> B.ByteString
+-- byteStringP b = [qc|A fine day to die, {b}.|]
 
 --------------------------------------------------------------------------------
 -- Multiple String interpolations
@@ -93,8 +93,8 @@
 -- multiStringN :: (Int, String, Bool) -> String
 -- multiStringN (x, y, z) = [str| foo $:x$ bar $y$ baz $:z$ quux |]
 
-multiStringP :: (Int, String, Bool) -> String
-multiStringP (x, y, z) = [qc| foo {x} bar {y} baz {z} quux |]
+-- multiStringP :: (Int, String, Bool) -> String
+-- multiStringP (x, y, z) = [qc| foo {x} bar {y} baz {z} quux |]
 
 --------------------------------------------------------------------------------
 -- Multiple Text interpolations
@@ -113,8 +113,8 @@
 -- multiTextN :: (Int, T.Text, Bool) -> T.Text
 -- multiTextN (x, y, z) = [str| foo $:x$ bar $y$ baz $:z$ quux |]
 
-multiTextP :: (Int, T.Text, Bool) -> T.Text
-multiTextP (x, y, z) = [qc| foo {x} bar {y} baz {z} quux |]
+-- multiTextP :: (Int, T.Text, Bool) -> T.Text
+-- multiTextP (x, y, z) = [qc| foo {x} bar {y} baz {z} quux |]
 
 multiTextNI :: (Int, T.Text, Bool) -> T.Text
 multiTextNI (x, y, z) =
@@ -135,8 +135,8 @@
 -- multiByteStringN :: (Int, B.ByteString, Bool) -> B.ByteString
 -- multiByteStringN (x, y, z) = [str| foo $:x$ bar $y$ baz $:z$ quux |]
 
-multiByteStringP :: (Int, B.ByteString, Bool) -> B.ByteString
-multiByteStringP (x, y, z) = [qc| foo {x} bar {y} baz {z} quux |]
+-- multiByteStringP :: (Int, B.ByteString, Bool) -> B.ByteString
+-- multiByteStringP (x, y, z) = [qc| foo {x} bar {y} baz {z} quux |]
 
 main :: IO ()
 main = defaultMain $
@@ -145,14 +145,14 @@
     , bench "interpolate"              $ nf stringI "William"
     , bench "formatting"               $ nf stringF "William"
     -- , bench "Interpolation"            $ nf stringN "William"
-    , bench "interpolatedstring-perl6" $ nf stringP "William"
+    -- , bench "interpolatedstring-perl6" $ nf stringP "William"
     ]
   , bgroup "Small Text Bench" $
     [ bench "string-interpolate"       $ nf textSI "William"
     , bench "interpolate"              $ nf textI "William"
     , bench "formatting"               $ nf textF "William"
     -- , bench "Interpolation"            $ nf textN "William"
-    , bench "interpolatedstring-perl6" $ nf textP "William"
+    -- , bench "interpolatedstring-perl6" $ nf textP "William"
     , bench "neat-interpolation"       $ nf textNI "William"
     ]
   , bgroup "Small ByteString Bench" $
@@ -160,21 +160,21 @@
     , bench "interpolate"              $ nf byteStringI "William"
     -- "formatting" doesn't support ByteStrings.
     -- , bench "Interpolation"            $ nf byteStringN "William"
-    , bench "interpolatedstring-perl6" $ nf byteStringP "William"
+    -- , bench "interpolatedstring-perl6" $ nf byteStringP "William"
     ]
   , bgroup "Multiple Interpolations String Bench" $
     [ bench "string-interpolate"       $ nf multiStringSI (42, "CATALLAXY", True)
     , bench "interpolate"              $ nf multiStringI (42, "CATALLAXY", True)
     , bench "formatting"               $ nf multiStringF (42, "CATALLAXY", True)
     -- , bench "Interpolation"            $ nf multiStringN (42, "CATALLAXY", True)
-    , bench "interpolatedstring-perl6" $ nf multiStringP (42, "CATALLAXY", True)
+    -- , bench "interpolatedstring-perl6" $ nf multiStringP (42, "CATALLAXY", True)
     ]
   , bgroup "Multiple Interpolations Text Bench" $
     [ bench "string-interpolate"       $ nf multiTextSI (42, "CATALLAXY", True)
     , bench "interpolate"              $ nf multiTextI (42, "CATALLAXY", True)
     , bench "formatting"               $ nf multiTextF (42, "CATALLAXY", True)
     -- , bench "Interpolation"            $ nf multiTextN (42, "CATALLAXY", True)
-    , bench "interpolatedstring-perl6" $ nf multiTextP (42, "CATALLAXY", True)
+    -- , bench "interpolatedstring-perl6" $ nf multiTextP (42, "CATALLAXY", True)
     , bench "neat-interpolation"       $ nf multiTextNI (42, "CATALLAXY", True)
     ]
   , bgroup "Multiple Interpolations ByteString Bench" $
@@ -182,14 +182,14 @@
     , bench "interpolate"              $ nf multiByteStringI (42, "CATALLAXY", True)
     -- "formatting" doesn't support ByteStrings.
     -- , bench "Interpolation"            $ nf multiByteStringN (42, "CATALLAXY", True)
-    , bench "interpolatedstring-perl6" $ nf multiByteStringP (42, "CATALLAXY", True)
+    -- , bench "interpolatedstring-perl6" $ nf multiByteStringP (42, "CATALLAXY", True)
     ]
   , env largeishText $ \ ~t -> bgroup "Largeish Text Bench" $
     [ bench "string-interpolate"       $ nf textSI t
     , bench "interpolate"              $ nf textI t
     , bench "formatting"               $ nf textF t
     -- , bench "Interpolation"            $ nf textN t
-    , bench "interpolatedstring-perl6" $ nf textP t
+    -- , bench "interpolatedstring-perl6" $ nf textP t
     , bench "neat-interpolation"       $ nf textNI t
     ]
   , env largeishByteString $ \ ~bs -> bgroup "Largeish ByteString Bench" $
@@ -197,7 +197,7 @@
     , bench "interpolate"              $ nf byteStringI bs
     -- "formatting" doesn't support ByteStrings.
     -- , bench "Interpolation"            $ nf byteStringN bs
-    , bench "interpolatedstring-perl6" $ nf byteStringP bs
+    -- , bench "interpolatedstring-perl6" $ nf byteStringP bs
     ]
   ]
 
diff --git a/src/lib/Data/String/Interpolate/Conversion.hs b/src/lib/Data/String/Interpolate/Conversion.hs
--- a/src/lib/Data/String/Interpolate/Conversion.hs
+++ b/src/lib/Data/String/Interpolate/Conversion.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE DataKinds             #-}
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE KindSignatures        #-}
@@ -13,9 +14,9 @@
   )
 where
 
-import Data.Int              ( Int64 )
 import Data.Char             ( isSpace )
-import Data.Monoid           ( (<>) )
+import Data.Int              ( Int64 )
+import Data.Kind             ( Type )
 import Data.Proxy
 import Data.String           ( IsString, fromString )
 import Data.Text.Conversions
@@ -32,7 +33,12 @@
 
 import "base" Control.Category ( (>>>) )
 
-import "base" Text.Show ( ShowS, showString, showChar )
+-- Remove some imports above GHC 8.8.X
+#if MIN_VERSION_base(4,13,0)
+#else
+import "base" Data.Monoid ( (<>) )
+import "base" Text.Show   ( ShowS, showChar, showString )
+#endif
 
 -- |
 -- We wrap the builders in B so that we can add a phantom type parameter.
@@ -53,7 +59,7 @@
 
 -- | Something that can be interpolated into.
 class IsCustomSink dst ~ flag => InterpSink (flag :: Bool) dst where
-  type Builder flag dst :: *
+  type Builder flag dst :: Type
 
   -- | Meant to be used only for verbatim parts of the interpolation.
   ofString :: Proxy flag -> String -> B dst (Builder flag dst)
@@ -267,7 +273,7 @@
 
 -- | For storing state while we fold over the ByteString.
 data BSChomper = BSChomper
-  { bscNumWS :: !Int64
+  { bscNumWS   :: !Int64
   , bscBuilder :: !(Maybe LB.Builder)  -- ^ We use Maybe here to know if we've processed
                                        --   non-whitespace characters yet.
   }
@@ -284,7 +290,7 @@
 
 finalizeBSC :: BSChomper -> LB.ByteString
 finalizeBSC bsc = case bscBuilder bsc of
-  Nothing -> mempty
+  Nothing      -> mempty
   Just builder -> LB.toLazyByteString builder
 
 instance {-# OVERLAPS #-} SpaceChompable B.ByteString where
diff --git a/string-interpolate.cabal b/string-interpolate.cabal
--- a/string-interpolate.cabal
+++ b/string-interpolate.cabal
@@ -1,85 +1,87 @@
 cabal-version: 1.18
-name: string-interpolate
-version: 0.2.0.2
-license: BSD3
-license-file: LICENSE
-copyright: 2019-2020 William Yao
-maintainer: williamyaoh@gmail.com
-author: William Yao
-homepage: https://gitlab.com/williamyaoh/string-interpolate/blob/master/README.md
-bug-reports: https://gitlab.com/williamyaoh/string-interpolate/issues
-synopsis: Haskell string/text/bytestring interpolation that just works
-description:
-    Unicode-aware string interpolation that handles all textual types.
-    .
-    See the README at <https://gitlab.com/williamyaoh/string-interpolate/blob/master/README.md> for more info.
-category: Data, Text
-build-type: Simple
-extra-doc-files: README.md
-                 CHANGELOG.md
 
+name:           string-interpolate
+version:        0.2.0.3
+synopsis:       Haskell string/text/bytestring interpolation that just works
+description:    Unicode-aware string interpolation that handles all textual types.
+                .
+                See the README at <https://gitlab.com/williamyaoh/string-interpolate/blob/master/README.md> for more info.
+category:       Data, Text
+homepage:       https://gitlab.com/williamyaoh/string-interpolate/blob/master/README.md
+bug-reports:    https://gitlab.com/williamyaoh/string-interpolate/issues
+author:         William Yao
+maintainer:     williamyaoh@gmail.com
+copyright:      2019-2020 William Yao
+license:        BSD3
+license-file:   LICENSE
+build-type:     Simple
+extra-doc-files:
+    README.md
+    CHANGELOG.md
+
 source-repository head
-    type: git
-    location: https://www.gitlab.com/williamyaoh/string-interpolate.git
+  type: git
+  location: https://www.gitlab.com/williamyaoh/string-interpolate.git
 
 library
     exposed-modules:
         Data.String.Interpolate
         Data.String.Interpolate.Conversion
-    hs-source-dirs: src/lib
     other-modules:
         Data.String.Interpolate.Parse
         Paths_string_interpolate
-    default-language: Haskell2010
+    hs-source-dirs:
+        src/lib
     ghc-options: -Wall -Wcompat -Wincomplete-record-updates
                  -Wincomplete-uni-patterns -Wredundant-constraints
                  -Wnoncanonical-monad-instances -fno-warn-name-shadowing
     build-depends:
-        base ==4.*,
-        bytestring >=0.10.8.2 && <0.11,
-        haskell-src-exts >=1.21.1 && <1.22,
-        haskell-src-meta >=0.8.3 && <0.9,
-        template-haskell >=2.14.0.0 && <2.15,
-        text >=1.2.3.1 && <1.3,
-        text-conversions >=0.3.0 && <0.4,
-        utf8-string >=1.0.1.1 && <1.1
+        base ==4.*
+      , bytestring <0.11
+      , text <1.3
+      , haskell-src-exts <1.24
+      , haskell-src-meta <0.9
+      , template-haskell <2.16
+      , text-conversions <0.4
+      , utf8-string <1.1
+    default-language: Haskell2010
 
 test-suite string-interpolate-test
     type: exitcode-stdio-1.0
     main-is: Spec.hs
-    hs-source-dirs: test
     other-modules:
         Paths_string_interpolate
-    default-language: Haskell2010
+    hs-source-dirs: test
     ghc-options: -threaded -rtsopts -with-rtsopts=-N
     build-depends:
-        QuickCheck >=2.13.2 && <2.14,
-        base ==4.*,
-        bytestring >=0.10.8.2 && <0.11,
-        hspec >=2.7.1 && <2.8,
-        quickcheck-instances >=0.3.22 && <0.4,
-        quickcheck-text >=0.1.2.1 && <0.2,
-        quickcheck-unicode >=1.0.1.0 && <1.1,
-        random-shuffle >=0.0.4 && <0.1,
-        string-interpolate -any,
-        text >=1.2.3.1 && <1.3,
-        unordered-containers >=0.2.10.0 && <0.3
+        base ==4.*
+      , string-interpolate -any
+      , QuickCheck <2.14
+      , bytestring <0.11
+      , text <1.3
+      , hspec <2.8
+      , quickcheck-instances <0.4
+      , quickcheck-text <0.2
+      , quickcheck-unicode <1.1
+      , random-shuffle <0.1
+      , unordered-containers <0.3
+    default-language: Haskell2010
 
 benchmark string-interpolate-bench
     type: exitcode-stdio-1.0
     main-is: Bench.hs
-    hs-source-dirs: bench
     other-modules:
         Paths_string_interpolate
-    default-language: Haskell2010
+    hs-source-dirs: bench
     build-depends:
-        QuickCheck >=2.13.2 && <2.14,
-        base ==4.*,
-        bytestring >=0.10.8.2 && <0.11,
-        criterion >=1.5.6.1 && <1.6,
-        formatting >=6.3.7 && <6.4,
-        interpolate >=0.2.0 && <0.3,
-        interpolatedstring-perl6 >=1.0.2 && <1.1,
-        neat-interpolation >=0.3.2.6 && <0.4,
-        string-interpolate -any,
-        text >=1.2.3.1 && <1.3
+        base ==4.*
+      , string-interpolate -any
+      , QuickCheck <2.14
+      , bytestring <0.11
+      , text <1.3
+      , criterion <1.6
+      , formatting <6.4
+      , interpolate <0.3
+      -- , interpolatedstring-perl6 <1.1
+      , neat-interpolation <0.4
+    default-language: Haskell2010
