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.5.0.2
+version:                0.5.0.3
 synopsis:               Bit manipulation
 description:            Please see README.md
 homepage:               http://github.com/haskell-works/hw-bits#readme
diff --git a/src/HaskellWorks/Data/Bits/BitShow.hs b/src/HaskellWorks/Data/Bits/BitShow.hs
--- a/src/HaskellWorks/Data/Bits/BitShow.hs
+++ b/src/HaskellWorks/Data/Bits/BitShow.hs
@@ -11,14 +11,16 @@
   , bitShow
   ) where
 
-import qualified Data.ByteString                as BS
-import qualified Data.Vector                    as DV
-import qualified Data.Vector.Storable           as DVS
-import           Data.Word
-import           GHC.Exts
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.Bits.Word
+import Data.Word
+import GHC.Exts
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.Bits.Word
 
+import qualified Data.ByteString      as BS
+import qualified Data.ByteString.Lazy as BSL
+import qualified Data.Vector          as DV
+import qualified Data.Vector.Storable as DVS
+
 -- | Shower of a value as a bit string
 class BitShow a where
   -- | Show a value as a bit string
@@ -57,7 +59,12 @@
 instance BitShow BS.ByteString where
   bitShows bs | BS.length bs == 0 = id
   bitShows bs | BS.length bs == 1 = bitShows (BS.head bs)
-  bitShows bs                     = bitShows (BS.head bs) . (' ':) . bitShows (BS.tail bs)
+  bitShows bs = bitShows (BS.head bs) . (' ':) . bitShows (BS.tail bs)
+
+instance BitShow BSL.ByteString where
+  bitShows bs | BSL.length bs == 0 = id
+  bitShows bs | BSL.length bs == 1 = bitShows (BSL.head bs)
+  bitShows bs = bitShows (BSL.head bs) . (' ':) . bitShows (BSL.tail bs)
 
 instance BitShow [Word8] where
   bitShows []     = id
diff --git a/src/HaskellWorks/Data/Bits/BitShown.hs b/src/HaskellWorks/Data/Bits/BitShown.hs
--- a/src/HaskellWorks/Data/Bits/BitShown.hs
+++ b/src/HaskellWorks/Data/Bits/BitShown.hs
@@ -8,17 +8,18 @@
   , bitShown
   ) where
 
-import qualified Data.ByteString                  as BS
-import           Data.Maybe
-import           Data.String
-import           Data.Word
-import           HaskellWorks.Data.Bits.BitRead
-import           HaskellWorks.Data.Bits.BitShow
-import           HaskellWorks.Data.Bits.BitWise
-import           HaskellWorks.Data.FromByteString
+import Data.Maybe
+import Data.String
+import Data.Word
+import HaskellWorks.Data.Bits.BitRead
+import HaskellWorks.Data.Bits.BitShow
+import HaskellWorks.Data.Bits.BitWise
+import HaskellWorks.Data.FromByteString
 
+import qualified Data.ByteString as BS
+
 -- | Tag for a value describe the value as being able to be shown as a bit string
-newtype BitShown a = BitShown a deriving (Eq, BitRead, BitShow)
+newtype BitShown a = BitShown { unBitShown :: a } deriving (Eq, BitRead, BitShow)
 
 deriving instance Functor BitShown
 
