title: Scala 2.8 collections design tutorial
body: <p>Following on from <a href="https://stackoverflow.com/questions/1721356/scala-2-8-canbuildfrom">my breathless confusion</a>, what are some good resources which explain how the new <a href="http://en.wikipedia.org/wiki/Scala_%28programming_language%29" rel="nofollow noreferrer">Scala</a> <strong>2.8</strong> collections library has been structured. I'm interested to find some information on how the following fit together:</p>
  
  <ul>
  <li>The collection classes/traits themselves (e.g. <code>List</code>, <code>Iterable</code>)</li>
  <li>Why the <em>Like</em> classes exist (e.g. <code>TraversableLike</code>)</li>
  <li>What the companion methods are for (e.g. <code>List.companion</code>)</li>
  <li>How I know what <code>implicit</code> objects are in scope at a given point</li>
  </ul>