title: whats the advantage of using guards in Haskell?
body: <pre><code>count_instances :: (Int)-&gt;([Int])-&gt;Int 
  count_instances x [] = 0 
  count_instances x (t:ts) 
      | x==t = 1+(count_instances x ts) 
      | otherwise = count_instances x ts
  </code></pre>
  
  <p>i just want to know whats so good about using guards in this Question ?</p>