diff --git a/hw-balancedparens.cabal b/hw-balancedparens.cabal
--- a/hw-balancedparens.cabal
+++ b/hw-balancedparens.cabal
@@ -1,78 +1,94 @@
-name:                   hw-balancedparens
-version:                0.2.0.1
-synopsis:               Balanced parentheses
-description:            Please see README.md
-homepage:               http://github.com/haskell-works/hw-balancedparens#readme
-license:                BSD3
-license-file:           LICENSE
-author:                 John Ky
-maintainer:             newhoggy@gmail.com
-copyright:              2016 John Ky
-category:               Data
-build-type:             Simple
-extra-source-files:     README.md
-cabal-version:          >= 1.22
-
-library
-  hs-source-dirs:       src
-  exposed-modules:      HaskellWorks.Data.BalancedParens
-                      , HaskellWorks.Data.BalancedParens.BalancedParens
-                      , HaskellWorks.Data.BalancedParens.Broadword
-                      , HaskellWorks.Data.BalancedParens.CloseAt
-                      , HaskellWorks.Data.BalancedParens.Enclose
-                      , HaskellWorks.Data.BalancedParens.FindClose
-                      , HaskellWorks.Data.BalancedParens.FindCloseN
-                      , HaskellWorks.Data.BalancedParens.FindOpen
-                      , HaskellWorks.Data.BalancedParens.FindOpenN
-                      , HaskellWorks.Data.BalancedParens.NewCloseAt
-                      , HaskellWorks.Data.BalancedParens.NewOpenAt
-                      , HaskellWorks.Data.BalancedParens.OpenAt
-                      , HaskellWorks.Data.BalancedParens.RangeMinMax
-                      , HaskellWorks.Data.BalancedParens.RangeMinMax2
-                      , HaskellWorks.Data.BalancedParens.Simple
-  build-depends:        base                          >= 4          && < 5
-                      , hw-bits                       >= 0.4.0.0
-                      , hw-excess                     >= 0.2.0.0
-                      , hw-prim                       >= 0.4.0.0
-                      , hw-rankselect-base            >= 0.2.0.0
-                      , storable-tuple
-                      , vector
+-- This file has been generated from package.yaml by hpack version 0.18.1.
+--
+-- see: https://github.com/sol/hpack
 
-  default-language:     Haskell2010
-  ghc-options:          -Wall -O2 -msse4.2
+name:           hw-balancedparens
+version:        0.2.0.2
+synopsis:       Balanced parentheses
+description:    Balanced parentheses.
+category:       Data, Bit, Succinct Data Structures, Data Structures
+homepage:       http://github.com/haskell-works/hw-balancedparens#readme
+bug-reports:    https://github.com/haskell-works/hw-balancedparens/issues
+author:         John Ky
+maintainer:     newhoggy@gmail.com
+copyright:      2016 John Ky
+license:        BSD3
+license-file:   LICENSE
+tested-with:    GHC == 8.4.2, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3
+build-type:     Simple
+cabal-version:  >= 1.10
 
-test-suite hw-balancedparens-test
-  type:                 exitcode-stdio-1.0
-  hs-source-dirs:       test
-  main-is:              Spec.hs
-  other-modules:        HaskellWorks.Data.BalancedParens.Internal.BroadwordSpec
-                      , HaskellWorks.Data.BalancedParens.RangeMinMaxSpec
-                      , HaskellWorks.Data.BalancedParens.RangeMinMax2Spec
-                      , HaskellWorks.Data.BalancedParens.SimpleSpec
-  build-depends:        base                          >= 4          && < 5
-                      , hspec
-                      , hw-balancedparens
-                      , hw-bits                       >= 0.4.0.0
-                      , hw-prim                       >= 0.4.0.0
-                      , hw-rankselect-base            >= 0.2.0.0
-                      , QuickCheck
-                      , vector
-  ghc-options:          -threaded -rtsopts -with-rtsopts=-N -Wall
-  default-language:     Haskell2010
+extra-source-files:
+    README.md
 
 source-repository head
-  type:     git
+  type: git
   location: https://github.com/haskell-works/hw-balancedparens
 
+library
+  hs-source-dirs:
+      src
+  ghc-options: -Wall -O2 -msse4.2
+  build-depends:
+      base >=4 && <5
+    , hw-bits >=0.4.0.0 && < 0.8
+    , hw-prim >=0.4.0.0 && < 0.7
+    , vector >= 0.12 && < 0.13
+    , hw-excess >=0.2.0.0 && < 0.3
+    , hw-rankselect-base >=0.2.0.0 && < 0.4
+  exposed-modules:
+      HaskellWorks.Data.BalancedParens
+      HaskellWorks.Data.BalancedParens.BalancedParens
+      HaskellWorks.Data.BalancedParens.Broadword
+      HaskellWorks.Data.BalancedParens.CloseAt
+      HaskellWorks.Data.BalancedParens.Enclose
+      HaskellWorks.Data.BalancedParens.FindClose
+      HaskellWorks.Data.BalancedParens.FindCloseN
+      HaskellWorks.Data.BalancedParens.FindOpen
+      HaskellWorks.Data.BalancedParens.FindOpenN
+      HaskellWorks.Data.BalancedParens.NewCloseAt
+      HaskellWorks.Data.BalancedParens.NewOpenAt
+      HaskellWorks.Data.BalancedParens.OpenAt
+      HaskellWorks.Data.BalancedParens.RangeMinMax
+      HaskellWorks.Data.BalancedParens.RangeMinMax2
+      HaskellWorks.Data.BalancedParens.Simple
+  other-modules:
+      Paths_hw_balancedparens
+  default-language: Haskell2010
+
+test-suite hw-balancedparens-test
+  type: exitcode-stdio-1.0
+  main-is: Spec.hs
+  hs-source-dirs:
+      test
+  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
+  build-depends:
+      base >=4 && <5
+    , hw-bits >=0.4.0.0 && < 0.8
+    , hw-prim >=0.4.0.0 && < 0.7
+    , vector >= 0.12 && < 0.13
+    , hspec >= 2.2 && < 2.6
+    , hw-balancedparens
+    , hw-rankselect-base >=0.2.0.0 && < 0.4
+    , QuickCheck >= 2.10 && < 2.12
+  other-modules:
+      HaskellWorks.Data.BalancedParens.Internal.BroadwordSpec
+      HaskellWorks.Data.BalancedParens.RangeMinMax2Spec
+      HaskellWorks.Data.BalancedParens.RangeMinMaxSpec
+      HaskellWorks.Data.BalancedParens.SimpleSpec
+  default-language: Haskell2010
+
 benchmark bench
-    Type: exitcode-stdio-1.0
-    HS-Source-Dirs: bench
-    Main-Is: Main.hs
-    GHC-Options: -O2 -Wall -msse4.2
-    Default-Language: Haskell2010
-    Build-Depends:      base                          >= 4          && < 5
-                      , criterion
-                      , hw-balancedparens
-                      , hw-bits                       >= 0.4.0.0
-                      , hw-prim                       >= 0.4.0.0
-                      , vector
+  type: exitcode-stdio-1.0
+  main-is: Main.hs
+  hs-source-dirs:
+      bench
+  ghc-options: -Wall -O2 -msse4.2
+  build-depends:
+      base >=4 && <5
+    , hw-bits >=0.4.0.0 && < 0.8
+    , hw-prim >=0.4.0.0 && < 0.7
+    , vector >= 0.12 && < 0.13
+    , criterion >= 1.2 && < 1.5
+    , hw-balancedparens
+  default-language: Haskell2010
diff --git a/src/HaskellWorks/Data/BalancedParens/BalancedParens.hs b/src/HaskellWorks/Data/BalancedParens/BalancedParens.hs
--- a/src/HaskellWorks/Data/BalancedParens/BalancedParens.hs
+++ b/src/HaskellWorks/Data/BalancedParens/BalancedParens.hs
@@ -6,18 +6,19 @@
   , subtreeSize
   ) where
 
-import           Control.Monad
-import qualified Data.Vector.Storable                                       as DVS
-import           Data.Word
-import           HaskellWorks.Data.BalancedParens.CloseAt
-import           HaskellWorks.Data.BalancedParens.Enclose
-import           HaskellWorks.Data.BalancedParens.FindClose
-import           HaskellWorks.Data.BalancedParens.FindOpen
-import           HaskellWorks.Data.BalancedParens.OpenAt
-import           HaskellWorks.Data.Naive
-import           HaskellWorks.Data.Positioning
-import           HaskellWorks.Data.RankSelect.Base.Rank0
-import           HaskellWorks.Data.RankSelect.Base.Rank1
+import Control.Monad
+import Data.Word
+import HaskellWorks.Data.BalancedParens.CloseAt
+import HaskellWorks.Data.BalancedParens.Enclose
+import HaskellWorks.Data.BalancedParens.FindClose
+import HaskellWorks.Data.BalancedParens.FindOpen
+import HaskellWorks.Data.BalancedParens.OpenAt
+import HaskellWorks.Data.Naive
+import HaskellWorks.Data.Positioning
+import HaskellWorks.Data.RankSelect.Base.Rank0
+import HaskellWorks.Data.RankSelect.Base.Rank1
+
+import qualified Data.Vector.Storable as DVS
 
 class (OpenAt v, CloseAt v, FindOpen v, FindClose v, Enclose v) => BalancedParens v where
   -- TODO Second argument should be Int
diff --git a/src/HaskellWorks/Data/BalancedParens/Broadword.hs b/src/HaskellWorks/Data/BalancedParens/Broadword.hs
--- a/src/HaskellWorks/Data/BalancedParens/Broadword.hs
+++ b/src/HaskellWorks/Data/BalancedParens/Broadword.hs
@@ -14,13 +14,14 @@
   , kkBitDiffSimple
   ) where
 
-import qualified Data.Bits                        as DB
-import           Data.Int
-import           Data.Word
-import           Debug.Trace
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Bits.Broadword
+import Data.Int
+import Data.Word
+import Debug.Trace
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Bits.Broadword
+
+import qualified Data.Bits as DB
 
 traceW :: String -> Word64 -> Word64
 traceW s w = trace (s ++ ": " ++ show (BitShown w) ++ " : " ++ show w ++ ", " ++ show (fromIntegral w :: Int64)) w
diff --git a/src/HaskellWorks/Data/BalancedParens/CloseAt.hs b/src/HaskellWorks/Data/BalancedParens/CloseAt.hs
--- a/src/HaskellWorks/Data/BalancedParens/CloseAt.hs
+++ b/src/HaskellWorks/Data/BalancedParens/CloseAt.hs
@@ -4,14 +4,14 @@
   ( CloseAt(..)
   ) where
 
-import           Data.Vector.Storable             as DVS
-import           Data.Word
-import           HaskellWorks.Data.Bits.BitLength
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Bits.Broadword
-import           HaskellWorks.Data.Positioning
-import           HaskellWorks.Data.Naive
+import Data.Vector.Storable             as DVS
+import Data.Word
+import HaskellWorks.Data.Bits.BitLength
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Bits.Broadword
+import HaskellWorks.Data.Positioning
+import HaskellWorks.Data.Naive
 
 closeAt' :: TestBit a => a -> Count -> Bool
 closeAt' v c = not (v .?. toPosition (c - 1))
diff --git a/src/HaskellWorks/Data/BalancedParens/Enclose.hs b/src/HaskellWorks/Data/BalancedParens/Enclose.hs
--- a/src/HaskellWorks/Data/BalancedParens/Enclose.hs
+++ b/src/HaskellWorks/Data/BalancedParens/Enclose.hs
@@ -4,12 +4,13 @@
   ( Enclose(..)
   ) where
 
-import qualified Data.Vector.Storable                                       as DVS
-import           Data.Word
-import           HaskellWorks.Data.BalancedParens.FindOpenN
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Naive
-import           HaskellWorks.Data.Positioning
+import Data.Word
+import HaskellWorks.Data.BalancedParens.FindOpenN
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Naive
+import HaskellWorks.Data.Positioning
+
+import qualified Data.Vector.Storable as DVS
 
 class Enclose v where
   enclose     :: v -> Count -> Maybe Count
diff --git a/src/HaskellWorks/Data/BalancedParens/FindClose.hs b/src/HaskellWorks/Data/BalancedParens/FindClose.hs
--- a/src/HaskellWorks/Data/BalancedParens/FindClose.hs
+++ b/src/HaskellWorks/Data/BalancedParens/FindClose.hs
@@ -4,16 +4,17 @@
   ( FindClose(..)
   ) where
 
-import qualified Data.Vector.Storable                                       as DVS
-import           Data.Word
-import           HaskellWorks.Data.BalancedParens.Broadword
-import           HaskellWorks.Data.BalancedParens.CloseAt
-import           HaskellWorks.Data.BalancedParens.FindCloseN
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Bits.Broadword
-import           HaskellWorks.Data.Naive
-import           HaskellWorks.Data.Positioning
+import Data.Word
+import HaskellWorks.Data.BalancedParens.Broadword
+import HaskellWorks.Data.BalancedParens.CloseAt
+import HaskellWorks.Data.BalancedParens.FindCloseN
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Bits.Broadword
+import HaskellWorks.Data.Naive
+import HaskellWorks.Data.Positioning
+
+import qualified Data.Vector.Storable as DVS
 
 class FindClose v where
   findClose   :: v -> Count -> Maybe Count
diff --git a/src/HaskellWorks/Data/BalancedParens/FindCloseN.hs b/src/HaskellWorks/Data/BalancedParens/FindCloseN.hs
--- a/src/HaskellWorks/Data/BalancedParens/FindCloseN.hs
+++ b/src/HaskellWorks/Data/BalancedParens/FindCloseN.hs
@@ -4,14 +4,15 @@
   ( FindCloseN(..)
   ) where
 
-import qualified Data.Vector.Storable                                       as DVS
-import           Data.Word
-import           HaskellWorks.Data.BalancedParens.CloseAt
-import           HaskellWorks.Data.Bits.BitLength
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Naive
-import           HaskellWorks.Data.Positioning
+import Data.Word
+import HaskellWorks.Data.BalancedParens.CloseAt
+import HaskellWorks.Data.Bits.BitLength
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Naive
+import HaskellWorks.Data.Positioning
+
+import qualified Data.Vector.Storable as DVS
 
 class FindCloseN v where
   findCloseN :: v -> Count -> Count -> Maybe Count
diff --git a/src/HaskellWorks/Data/BalancedParens/FindOpen.hs b/src/HaskellWorks/Data/BalancedParens/FindOpen.hs
--- a/src/HaskellWorks/Data/BalancedParens/FindOpen.hs
+++ b/src/HaskellWorks/Data/BalancedParens/FindOpen.hs
@@ -4,13 +4,14 @@
   ( FindOpen(..)
   ) where
 
-import qualified Data.Vector.Storable                                       as DVS
-import           Data.Word
-import           HaskellWorks.Data.BalancedParens.FindOpenN
-import           HaskellWorks.Data.BalancedParens.OpenAt
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Naive
-import           HaskellWorks.Data.Positioning
+import Data.Word
+import HaskellWorks.Data.BalancedParens.FindOpenN
+import HaskellWorks.Data.BalancedParens.OpenAt
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Naive
+import HaskellWorks.Data.Positioning
+
+import qualified Data.Vector.Storable as DVS
 
 class FindOpen v where
   findOpen    :: v -> Count -> Maybe Count
diff --git a/src/HaskellWorks/Data/BalancedParens/FindOpenN.hs b/src/HaskellWorks/Data/BalancedParens/FindOpenN.hs
--- a/src/HaskellWorks/Data/BalancedParens/FindOpenN.hs
+++ b/src/HaskellWorks/Data/BalancedParens/FindOpenN.hs
@@ -4,14 +4,15 @@
   ( FindOpenN(..)
   ) where
 
-import qualified Data.Vector.Storable                                       as DVS
-import           Data.Word
-import           HaskellWorks.Data.BalancedParens.OpenAt
-import           HaskellWorks.Data.Bits.BitLength
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Naive
-import           HaskellWorks.Data.Positioning
+import Data.Word
+import HaskellWorks.Data.BalancedParens.OpenAt
+import HaskellWorks.Data.Bits.BitLength
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Naive
+import HaskellWorks.Data.Positioning
+
+import qualified Data.Vector.Storable as DVS
 
 class FindOpenN v where
   findOpenN :: v -> Count -> Count -> Maybe Count
diff --git a/src/HaskellWorks/Data/BalancedParens/NewCloseAt.hs b/src/HaskellWorks/Data/BalancedParens/NewCloseAt.hs
--- a/src/HaskellWorks/Data/BalancedParens/NewCloseAt.hs
+++ b/src/HaskellWorks/Data/BalancedParens/NewCloseAt.hs
@@ -5,12 +5,13 @@
   , newCloseAt'
   ) where
 
-import qualified Data.Vector.Storable             as DVS
-import           Data.Word
-import           HaskellWorks.Data.Bits.BitLength
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Positioning
+import Data.Word
+import HaskellWorks.Data.Bits.BitLength
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Positioning
+
+import qualified Data.Vector.Storable as DVS
 
 class NewCloseAt v where
   newCloseAt     :: v -> Count -> Bool
diff --git a/src/HaskellWorks/Data/BalancedParens/NewOpenAt.hs b/src/HaskellWorks/Data/BalancedParens/NewOpenAt.hs
--- a/src/HaskellWorks/Data/BalancedParens/NewOpenAt.hs
+++ b/src/HaskellWorks/Data/BalancedParens/NewOpenAt.hs
@@ -4,12 +4,13 @@
   ( NewOpenAt(..)
   ) where
 
-import qualified Data.Vector.Storable             as DVS
-import           Data.Word
-import           HaskellWorks.Data.Bits.BitLength
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Positioning
+import Data.Word
+import HaskellWorks.Data.Bits.BitLength
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Positioning
+
+import qualified Data.Vector.Storable as DVS
 
 class NewOpenAt v where
   newOpenAt      :: v -> Count -> Bool
diff --git a/src/HaskellWorks/Data/BalancedParens/OpenAt.hs b/src/HaskellWorks/Data/BalancedParens/OpenAt.hs
--- a/src/HaskellWorks/Data/BalancedParens/OpenAt.hs
+++ b/src/HaskellWorks/Data/BalancedParens/OpenAt.hs
@@ -4,14 +4,15 @@
   ( OpenAt(..)
   ) where
 
-import qualified Data.Vector.Storable                                       as DVS
-import           Data.Word
-import           HaskellWorks.Data.Bits.BitLength
-import           HaskellWorks.Data.Bits.BitShown
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Bits.Broadword
-import           HaskellWorks.Data.Naive
-import           HaskellWorks.Data.Positioning
+import Data.Word
+import HaskellWorks.Data.Bits.BitLength
+import HaskellWorks.Data.Bits.BitShown
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Bits.Broadword
+import HaskellWorks.Data.Naive
+import HaskellWorks.Data.Positioning
+
+import qualified Data.Vector.Storable as DVS
 
 class OpenAt v where
   openAt      :: v -> Count -> Bool
diff --git a/src/HaskellWorks/Data/BalancedParens/RangeMinMax.hs b/src/HaskellWorks/Data/BalancedParens/RangeMinMax.hs
--- a/src/HaskellWorks/Data/BalancedParens/RangeMinMax.hs
+++ b/src/HaskellWorks/Data/BalancedParens/RangeMinMax.hs
@@ -10,7 +10,6 @@
   ) where
 
 import Data.Int
-import Foreign.Storable.Tuple                          ()
 import HaskellWorks.Data.AtIndex
 import HaskellWorks.Data.BalancedParens.BalancedParens
 import HaskellWorks.Data.BalancedParens.CloseAt
diff --git a/src/HaskellWorks/Data/BalancedParens/RangeMinMax2.hs b/src/HaskellWorks/Data/BalancedParens/RangeMinMax2.hs
--- a/src/HaskellWorks/Data/BalancedParens/RangeMinMax2.hs
+++ b/src/HaskellWorks/Data/BalancedParens/RangeMinMax2.hs
@@ -33,8 +33,8 @@
 import HaskellWorks.Data.Vector.AsVector64
 import Prelude hiding (length)
 
-import qualified Data.Vector                                                    as DV
-import qualified Data.Vector.Storable                                           as DVS
+import qualified Data.Vector          as DV
+import qualified Data.Vector.Storable as DVS
 
 data RangeMinMax2 a = RangeMinMax2
   { rangeMinMax2BP       :: !a
diff --git a/src/HaskellWorks/Data/BalancedParens/Simple.hs b/src/HaskellWorks/Data/BalancedParens/Simple.hs
--- a/src/HaskellWorks/Data/BalancedParens/Simple.hs
+++ b/src/HaskellWorks/Data/BalancedParens/Simple.hs
@@ -5,21 +5,21 @@
   ( SimpleBalancedParens(..)
   ) where
 
-import           Control.Monad
-import           HaskellWorks.Data.BalancedParens.BalancedParens
-import           HaskellWorks.Data.BalancedParens.CloseAt
-import           HaskellWorks.Data.BalancedParens.Enclose
-import           HaskellWorks.Data.BalancedParens.FindClose
-import           HaskellWorks.Data.BalancedParens.FindOpen
-import           HaskellWorks.Data.BalancedParens.OpenAt
-import           HaskellWorks.Data.Bits.BitLength
-import           HaskellWorks.Data.Bits.BitShow
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.RankSelect.Base.Rank0
-import           HaskellWorks.Data.RankSelect.Base.Rank1
-import           HaskellWorks.Data.RankSelect.Base.Select0
-import           HaskellWorks.Data.RankSelect.Base.Select1
-import           Prelude                                                    as P
+import Control.Monad
+import HaskellWorks.Data.BalancedParens.BalancedParens
+import HaskellWorks.Data.BalancedParens.CloseAt
+import HaskellWorks.Data.BalancedParens.Enclose
+import HaskellWorks.Data.BalancedParens.FindClose
+import HaskellWorks.Data.BalancedParens.FindOpen
+import HaskellWorks.Data.BalancedParens.OpenAt
+import HaskellWorks.Data.Bits.BitLength
+import HaskellWorks.Data.Bits.BitShow
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.RankSelect.Base.Rank0
+import HaskellWorks.Data.RankSelect.Base.Rank1
+import HaskellWorks.Data.RankSelect.Base.Select0
+import HaskellWorks.Data.RankSelect.Base.Select1
+import Prelude                                         as P
 
 newtype SimpleBalancedParens a = SimpleBalancedParens a
   deriving (BalancedParens, FindOpen, FindClose, Enclose, OpenAt, CloseAt, BitLength, BitShow, Eq, Rank0, Rank1, Select0, Select1, TestBit)
