title: Couldn't match expected type `Maybe (String, Int, String)' with actual type `([Char], t0, [Char])'
body: <p>I am testing examples in the <a href="http://www.haskell.org/haskellwiki/Haskell_Tutorial_for_C_Programmers#Part_II:_Functions.2C_But_Really_a_Sidetrack_to_Types" rel="nofollow noreferrer">Haskell Tutorial for C Programmers (Part 2)</a> and am having a bit of trouble with this one....</p>
  
  <pre><code>showPet :: Maybe (String, Int, String) -&gt; String
  showPet Nothing     = "none"
  showPet (Just (name, age, species)) = "a " ++ species ++ " named " ++ name ++ ", aged " ++ (show age)
  </code></pre>
  
  <p>While it compiles, invoking it with</p>
  
  <pre><code>showPet ("cat",5,"felix")
  </code></pre>
  
  <p>results in </p>
  
  <pre><code>&lt;interactive&gt;:131:9:
  Couldn't match expected type `Maybe (String, Int, String)'
              with actual type `([Char], t0, [Char])'
  In the first argument of `showPet', namely `("cat", 5, "felix")'
  In the expression: showPet ("cat", 5, "felix")
  In an equation for `it': it = showPet ("cat", 5, "felix")
  </code></pre>
  
  <p>Am I calling it incorrectly or is it a change in Haskell that renders this in need of a change (I have found a few)?</p>