title: not match expected type
body: <p>How can I solve this error and make my code work ?</p>
  
  <p>My data type :</p>
  
  <pre><code>   data ID x = ID ( ( x, Mark ), [ ID x ] ) 
     data Mark = Marked | Unmarked
  </code></pre>
  
  <p>Show instance:</p>
  
  <pre><code>  instance  Show a  =&gt; Show ( ID a )  where
  
             show t  = go " " t   where 
  
                    go aP ( ID ( (x, Marked ), z ) ) =
  
                             aP ++ x ++ "\n" 
  </code></pre>
  
  <p>Error: </p>
  
  <pre><code>Couldn't match expected type `[Char]' against inferred type `a'
    `a' is a rigid type variable bound by
        the instance declaration at Dictionary.hs:117:23
    Expected type: ID [Char]
    Inferred type: ID a
  In the second argument of `go', namely `t'
  In the expression: go "" t
  Failed, modules loaded: none.
  </code></pre>