title: What are type classes in Scala useful for?
body: <p>As I understand from <a href="http://debasishg.blogspot.com/2010/06/scala-implicits-type-classes-here-i.html">this blog post</a>  "type classes" in Scala is just a "pattern" implemented with traits and implicit adapters.</p>
  
  <p>As the blog says if I have trait <code>A</code> and an adapter <code>B -&gt; A</code> then I can invoke a function, which requires argument of type <code>A</code>, with an argument of type <code>B</code> without invoking this adapter explicitly.</p>
  
  <p>I found it nice but not particularly useful. Could you give a use case/example, which shows what this feature is useful for ? </p>