title: OptionalInt vs Optional<Integer>
body: <p>When scrolling through the documentation for the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/package-summary.html" rel="noreferrer">java.util</a> package, I was surpised to find that <code>Optional&lt;T&gt;</code> and <code>OptionalInt</code> have no relationship to each other. This seems very hard to belive, as it suggests that they are unrelated classes.</p>
  
  <ol>
  <li>Why don't they have a common interface, class, are sub-types, or <em>something</em> to reveal the relationship they have? (They're <em>very</em> similar classes when you look at their uses.)</li>
  <li>Also, why the need for an additional <code>OptionalInt</code> class? Why can't you just use <code>Optional&lt;Integer&gt;</code>? I thought it was due to the fact that <code>int</code> is primitive, but there is no <code>OptionalChar</code> so that would be an inconsistent design choice.</li>
  </ol>