title: Why is appending to a list bad?
body: <p>I've recently started learning scala, and I've come across the <code>::</code> (cons) function, which prepends to a list.<br>
  In the book "Programming in Scala" it states that there is no append function because appending to a list has performance o(n) whereas prepending has a performance of o(1)</p>
  
  <p>Something just strikes me as wrong about that statement.</p>
  
  <p>Isn't performance dependent on implementation?  Isn't it possible to simply implement the list with both forward and backward links and store the first and last element in the container?</p>
  
  <p>The second question I suppose is what I'm supposed to do when I have a list, say 1,2,3 and I want to add 4 to the end of it?</p>