title: Return type of '?:' (ternary conditional operator)
body: <p>Why does the first return a reference?</p>
  
  <pre><code>int x = 1;
  int y = 2;
  (x &gt; y ? x : y) = 100;
  </code></pre>
  
  <p>While the second does not?</p>
  
  <pre><code>int x = 1;
  long y = 2;
  (x &gt; y ? x : y) = 100;
  </code></pre>
  
  <p>Actually, the second did not compile at all - "not lvalue left of assignment".</p>