diff --git a/Data/Invertible/TH.hs b/Data/Invertible/TH.hs
--- a/Data/Invertible/TH.hs
+++ b/Data/Invertible/TH.hs
@@ -1,5 +1,6 @@
 -- |
 -- Convenient construction of bidirectional functions using case-like syntax.
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE TemplateHaskell, Trustworthy #-}
 module Data.Invertible.TH
   ( biCase
@@ -16,9 +17,16 @@
 import Language.Haskell.Meta.Parse (parsePat)
 import qualified Language.Haskell.TH as TH
 import Language.Haskell.TH.Quote (QuasiQuoter(..))
+#if MIN_VERSION_base(4,9,0)
 import Text.Read.Lex (isSymbolChar)
+#endif
 
 import Data.Invertible.Bijection
+
+#if !MIN_VERSION_base(4,9,0)
+isSymbolChar :: Char -> Bool
+isSymbolChar = (`elem` "!#$%&*+./<=>?@\\^|-~:")
+#endif
 
 split :: String -> String -> [String]
 split _ [] = []
diff --git a/invertible.cabal b/invertible.cabal
--- a/invertible.cabal
+++ b/invertible.cabal
@@ -1,5 +1,5 @@
 name:                invertible
-version:             0.2.0
+version:             0.2.0.1
 synopsis:            bidirectional arrows, bijective functions, and invariant functors
 description:
   Representations and operations for bidirectional arrows (total isomorphisms: an
@@ -24,20 +24,36 @@
 
 flag arrows
   description: Support the arrows package
+  manual: True
+  default: False
 flag HList
   description: Support the HList package
+  manual: True
+  default: True
 flag invariant
   description: Support the invariant package
+  manual: True
+  default: True
 flag lens
   description: Support the lens package
+  manual: True
+  default: True
 flag partial-isomorphisms
   description: Support the partial-isomorphisms package
+  manual: True
+  default: True
 flag Piso
   description: Support the Piso package
+  manual: True
+  default: False
 flag semigroupoids
   description: Support the semigroupoids package
+  manual: True
+  default: True
 flag TypeCompose
   description: Support the TypeCompose package
+  manual: True
+  default: True
 
 library
   other-modules:
