title: What is the difference between Seq and IndexedSeq/LinearSeq in Scala?
body: <p>In <a href="http://www.scala-lang.org/docu/files/collections-api/collections_5.html" rel="noreferrer">Scala Collection documentation</a>, there is some clue to this question:</p>
  
  <blockquote>
    <p>Trait Seq has two subtraits LinearSeq, and IndexedSeq. These do not add any new operations, but each offers different performance characteristics: A linear sequence has efficient head and tail operations, whereas an indexed sequence has efficient apply, length, and (if mutable) update operations. </p>
  </blockquote>
  
  <p>But this does not address me when to use <code>IndexedSeq</code> instead of <code>Seq</code>?
  I need some real example of <code>IndexedSeq</code> or <code>LinearSeq</code> where these collections do better than <code>Seq</code>.</p>