title: Where has my show class gone
body: <p>I have the following definitions</p>
  
  <pre><code>data AST
      = Number Integer
      | Identifier String
      | String String
      -- | Operation BinOp AST AST
      | Query String
      deriving (Show, Eq)
  
  data Tuple = Tuple {cmd :: String, 
                      cid :: AST,
                      argumentList :: [AST],
                      queryList :: [AST]} deriving (Show, Eq)
  </code></pre>
  
  <p>and when I try to print for example cid I get the error</p>
  
  <pre><code>No instance for (Show (Tuple -&gt; AST)) arising from a use of `print'
  </code></pre>
  
  <p>that is surprising me since both AST and Tuple are members of the show class. How can I make cid, argumentList and queryList printable?</p>