title: Handling None when adding numbers
body: <p>I would like to perform addition of 2 integers, which can also be None, with the following results:</p>
  
  <pre><code>add(None, None) = None
  add(None, b) = b
  add(a, None) = a
  add(a, b) = a + b
  </code></pre>
  
  <p>What is the most pythonic, concise expression for this?
  So far I have:</p>
  
  <pre><code>def add1(a, b):
      if a is None:
          return b
      elif b is None:
          return a
      else:
          return a + b
  </code></pre>
  
  <p>or</p>
  
  <pre><code>def add2(a, b):
      try:
          return a + b
      except TypeError:
          return a if a is not None else b
  </code></pre>
  
  <p>Is there any shorter way to achieve it?</p>