title: Equation has different number of arguments
body: <p>I made these data types to represent guitar tabs and I'm trying to write the <code>show</code> function to print them as real guitar tabs. <code>data</code>s are not my specialty and I'm having trouble matching up the types.</p>
  
  <p>The error is</p>
  
  <blockquote>
    <p>Equations for `show' have different numbers of arguments
        In the instance declaration for GHC.Show.Show Tabs.Chord'</p>
  </blockquote>
  
  <p>The code:</p>
  
  <pre><code>type Strings = Int
  
  data Fret = None | Note Int
  
  instance Show Fret where
    show None = "-"
    show (Note a) = show a
  
  data Chord = EmptyChord Strings | Chord [Fret]
  
  instance Show Chord where
    show EmptyChord a = init $ take (a * 2) ['-', '\n' ..]
    show Chord (x : xs) = x : '\n' : show xs
  </code></pre>