title: Summing up two options
body: <p>Let's say I have two optional Ints (both can be Some or None):</p>
  
  <pre><code>val one : Option[Int] = Some(1)
  val two : Option[Int] = Some(2)
  </code></pre>
  
  <p>My question is the following: Are there any intelligent way to sum them op using Scalas brilliant collection-methods? I realize that I could merge them into a collection, <code>flatten</code> it and use <code>reduceLeftOption</code> like so:</p>
  
  <pre><code>(one :: two :: Nil).flatten.reduceLeftOption(_ + _)     // Some(3)
  </code></pre>
  
  <p>But, the solution above means creating a new collection, and living in a rich and developed world that takes time from all the other first world activities I might immerse myself into. And in a world where programming gets more and more luxurious for programmers like us, there must be one or more luxurious first world answer(s) to this, right?</p>
  
  <p>Edit: So to spell things out, here are some examples:</p>
  
  <p>If <code>one = Some(1)</code> and <code>two = Some(2)</code> we should have Some(3)</p>
  
  <p>If <code>one = Some(1)</code> and <code>two = None</code> we should have Some(1)</p>
  
  <p>If <code>one = None</code> and <code>two = Some(2)</code> we should have Some(2)</p>
  
  <p>If both <code>one</code> and <code>two</code> are <code>None</code>  we should have None, since neither <code>one</code> or <code>two</code> can be summed correctly.</p>
  
  <p>Hope that clarified things :-)</p>