diff --git a/Data/LargeWord.hs b/Data/LargeWord.hs
--- a/Data/LargeWord.hs
+++ b/Data/LargeWord.hs
@@ -14,7 +14,7 @@
 -----------------------------------------------------------------------------
 
 module Data.LargeWord
-  ( LargeKey
+  ( LargeKey(..)
   , Word96
   , Word128
   , Word160
@@ -41,6 +41,30 @@
    largeWordShift :: a -> Int -> a
    largeWordXor :: a -> a -> a
    largeBitSize :: a -> Int
+
+-- Word8 is a key in the obvious way
+
+instance LargeWord Word8 where
+  largeWordToInteger = toInteger
+  integerToLargeWord = fromInteger
+  largeWordPlus = (+)
+  largeWordAnd  = (.&.)
+  largeWordOr   = (.|.)
+  largeWordShift = shift
+  largeWordXor   = xor
+  largeBitSize   = bitSize
+
+-- Word16 is a key in the obvious way
+
+instance LargeWord Word16 where
+  largeWordToInteger = toInteger
+  integerToLargeWord = fromInteger
+  largeWordPlus = (+)
+  largeWordAnd  = (.&.)
+  largeWordOr   = (.|.)
+  largeWordShift = shift
+  largeWordXor   = xor
+  largeBitSize   = bitSize
 
 -- Word32 is a key in the obvious way.
 
diff --git a/largeword.cabal b/largeword.cabal
--- a/largeword.cabal
+++ b/largeword.cabal
@@ -1,5 +1,5 @@
 name:           largeword
-version:        1.0.0
+version:        1.0.1
 license:        BSD3
 copyright:      Dominic Steinitz <dominic@steinitz.org>
 author:         Dominic Steinitz <dominic@steinitz.org>
