diff --git a/hw-bits.cabal b/hw-bits.cabal
--- a/hw-bits.cabal
+++ b/hw-bits.cabal
@@ -1,7 +1,7 @@
 cabal-version:  2.2
 
 name:                   hw-bits
-version:                0.7.1.2
+version:                0.7.1.3
 synopsis:               Bit manipulation
 description:            Please see README.md
 category:               Data, Bit
diff --git a/src/HaskellWorks/Data/Bits/BitWise.hs b/src/HaskellWorks/Data/Bits/BitWise.hs
--- a/src/HaskellWorks/Data/Bits/BitWise.hs
+++ b/src/HaskellWorks/Data/Bits/BitWise.hs
@@ -10,6 +10,7 @@
     , TestBit(..)
     ) where
 
+import Data.Int
 import Data.Word
 import HaskellWorks.Data.AtIndex
 import HaskellWorks.Data.Bits.BitLength
@@ -248,6 +249,34 @@
   {-# INLINE all1s #-}
 
 instance Shift Int  where
+  (.<.) w n = B.shiftL w (fromIntegral n)
+  {-# INLINE (.<.) #-}
+
+  (.>.) w n = B.shiftR w (fromIntegral n)
+  {-# INLINE (.>.) #-}
+
+instance Shift Int8  where
+  (.<.) w n = B.shiftL w (fromIntegral n)
+  {-# INLINE (.<.) #-}
+
+  (.>.) w n = B.shiftR w (fromIntegral n)
+  {-# INLINE (.>.) #-}
+
+instance Shift Int16  where
+  (.<.) w n = B.shiftL w (fromIntegral n)
+  {-# INLINE (.<.) #-}
+
+  (.>.) w n = B.shiftR w (fromIntegral n)
+  {-# INLINE (.>.) #-}
+
+instance Shift Int32  where
+  (.<.) w n = B.shiftL w (fromIntegral n)
+  {-# INLINE (.<.) #-}
+
+  (.>.) w n = B.shiftR w (fromIntegral n)
+  {-# INLINE (.>.) #-}
+
+instance Shift Int64  where
   (.<.) w n = B.shiftL w (fromIntegral n)
   {-# INLINE (.<.) #-}
 
