diff --git a/hw-bits.cabal b/hw-bits.cabal
--- a/hw-bits.cabal
+++ b/hw-bits.cabal
@@ -1,5 +1,5 @@
 name:                   hw-bits
-version:                0.2.0.0
+version:                0.2.0.1
 synopsis:               Conduits for tokenizing streams.
 description:            Please see README.md
 homepage:               http://github.com/haskell-works/hw-bits#readme
@@ -42,6 +42,7 @@
                       , HaskellWorks.Data.Bits.ElemFixedBitSize
                       , HaskellWorks.Data.Bits.FixedBitSize
                       , HaskellWorks.Data.Bits.FromBitTextByteString
+                      , HaskellWorks.Data.Bits.LoBitsSized
                       , HaskellWorks.Data.Bits.Log2
                       , HaskellWorks.Data.Bits.PopCount
                       , HaskellWorks.Data.Bits.PopCount.PopCount0
diff --git a/src/HaskellWorks/Data/Bits/LoBitsSized.hs b/src/HaskellWorks/Data/Bits/LoBitsSized.hs
new file mode 100644
--- /dev/null
+++ b/src/HaskellWorks/Data/Bits/LoBitsSized.hs
@@ -0,0 +1,21 @@
+module HaskellWorks.Data.Bits.LoBitsSized
+  ( LoBitsSized(..)
+  ) where
+
+import Data.Word
+import HaskellWorks.Data.Bits.BitWise
+
+class LoBitsSized a where
+  loBitsSized :: Int -> a
+
+instance LoBitsSized Word64 where
+  loBitsSized n = let o = fromIntegral (64 - n) in 0xFFFFFFFFFFFFFFFF .<. o .>. o
+
+instance LoBitsSized Word32 where
+  loBitsSized n = let o = fromIntegral (32 - n) in 0xFFFFFFFF .<. o .>. o
+
+instance LoBitsSized Word16 where
+  loBitsSized n = let o = fromIntegral (16 - n) in 0xFFFF .<. o .>. o
+
+instance LoBitsSized Word8 where
+  loBitsSized n = let o = fromIntegral (8 - n) in 0xFF .<. o .>. o
diff --git a/src/HaskellWorks/Data/Bits/SubWord64Vector/Internal.hs b/src/HaskellWorks/Data/Bits/SubWord64Vector/Internal.hs
--- a/src/HaskellWorks/Data/Bits/SubWord64Vector/Internal.hs
+++ b/src/HaskellWorks/Data/Bits/SubWord64Vector/Internal.hs
@@ -1,5 +1,5 @@
 module HaskellWorks.Data.Bits.SubWord64Vector.Internal
-  ( loBitsSized
+  ( LoBitsSized(..)
   , packBits
   , packBits'
   , unpackBits
@@ -9,12 +9,10 @@
 import           Data.Word
 import           HaskellWorks.Data.Bits.BitWise
 import           HaskellWorks.Data.Bits.FixedBitSize
+import           HaskellWorks.Data.Bits.LoBitsSized
 
 {-# ANN module ("HLint: Reduce duplication" :: String) #-}
 
-class LoBitsSized a where
-  loBitsSized :: Int -> a
-
 class Integral a => PackBits a where
   packBits :: Int -> [a] -> [a]
   packBits = packBits' 0 0
@@ -26,18 +24,6 @@
   unpackBits = unpackBits' 0 0
 
   unpackBits' :: Int -> a -> Int -> Int -> [a] -> [a]
-
-instance LoBitsSized Word64 where
-  loBitsSized n = let o = fromIntegral (64 - n) in 0xFFFFFFFFFFFFFFFF .<. o .>. o
-
-instance LoBitsSized Word32 where
-  loBitsSized n = let o = fromIntegral (32 - n) in 0xFFFFFFFF .<. o .>. o
-
-instance LoBitsSized Word16 where
-  loBitsSized n = let o = fromIntegral (16 - n) in 0xFFFF .<. o .>. o
-
-instance LoBitsSized Word8 where
-  loBitsSized n = let o = fromIntegral (8 - n) in 0xFF .<. o .>. o
 
 instance PackBits Word64 where
   packBits' filled carry bitLen (w:ws) = if fillNeeded < fromIntegral (fixedBitSize carry)
