title: How are c++ concepts different to Haskell typeclasses?
body: <p>Concepts for C++ from the Concepts TS have been recently merged into GCC trunk. Concepts allow one to constrain generic code by requiring types to satisfy the conditions of the concept ('Comparable' for instance).</p>
  
  <p>Haskell has type classes. I'm not so familiar with Haskell. How are concepts and type classes related?</p>