title: "Inheriting" instance of wrapped type
body: <p>I have a type that basically acts as a tag on another data type:</p>
  
  <pre><code>import Data.Word
  data RijndaelField = RF Word8
  </code></pre>
  
  <p>I want <code>RijndaelField</code> to "inherit" the <code>Word8</code> instance of <code>Bits</code> in the simplest way possible:</p>
  
  <pre><code>import Data.Bits
  instance Bits RijndaelField where
      RF a .&amp;. RF b     = RF $ a .&amp;. b
      RF a .|. RF b     = RF $ a .|. b
      RF a `xor` RF b   = RF $ a `xor` b
      complement (RF a) = RF $ complement a
      shift (RF a) n    = RF $ shift a n
      rotate (RF a) n   = RF $ rotate a n
      bitSize (RF a)    = bitSize a
      isSigned (RF a)   = isSigned a
      testBit (RF a) n  = testBit a n
      bit n             = RF $ bit n
      popCount (RF a)   = popCount a
  </code></pre>
  
  <p>Is there a shorter way to express that relation between <code>RijndaelField</code> and <code>Word8</code>?</p>