title: Verbose notation when using map() on Lists of tuples
body: <p>I like to have my code quite naively readable.</p>
  
  <p>If I set up a simple list of tuples:</p>
  
  <pre><code>scala&gt; val a = List(6, 8, 10)
  a: List[Int] = List(6, 8, 10)
  
  scala&gt; val b = a zipWithIndex
  b: List[(Int, Int)] = List((6,0), (8,1), (10,2))
  </code></pre>
  
  <p>I'd like to map() on the List, but I find the ._1 ._2 syntax a bit hard-to-read:</p>
  
  <pre><code>scala&gt; val c = b map ( a =&gt; if(a._1 &gt; 8) a._1 else a._2 )           
  c: List[Int] = List(0, 1, 10)
  </code></pre>
  
  <p>To 'name' the tuple, I've used:</p>
  
  <pre><code>scala&gt; val c = b map ( { case (num, i) =&gt; if(num &gt; 8) num else i } )
  c: List[Int] = List(0, 1, 10)
  </code></pre>
  
  <p>Two questions:</p>
  
  <p>1) Is there a more concise way to name the tuple members?</p>
  
  <p>2) Is there a considerable performance hit for my version above (it is used in moderately performance-critical code).</p>
  
  <p>Thanks.</p>