title: Get head item and tail items from scala list
body: <p>Is there a method in scala to get the (single) head element of a List or Seq and the (collection) tail of the list? I know there's</p>
  
  <pre><code>def splitAt(n: Int): (List[A], List[A])
  </code></pre>
  
  <p>and I can easily grab the single item from the first list of the tuple. But is there any built in method that is basically this?</p>
  
  <pre><code>def splitAtHead: (Option[A], List[A])
  </code></pre>
  
  <p>Like I said, you can easily chain <code>splitAt</code> to return the right signature, but I figured a built in method might be able to save an intermediate tuple.</p>
  
  <p>Edit:</p>
  
  <p>@om-nom-nom's answer is correct, but this is why I couldn't use his 2nd version.</p>
  
  <pre><code>List[S](s1, s2, s3, s4).sortBy { _.f (h) } match {
      case hd :: tail =&gt; recurse(tail)
  }
  </code></pre>