title: Why does ExecutorService.submit(Runnable task) return Future<?> rather than Future<Void>?
body: <p>The <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html" rel="noreferrer" title="link to javadoc">ExecutorService</a> has the following method:</p>
  
  <p><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html#submit-java.lang.Runnable-" rel="noreferrer" title="link to javadoc">Future&lt;?> submit(Runnable task)</a></p>
  
  <p>But since this <code>Future</code>'s <code>get</code> method will always return <code>null</code> wouldn't the following signature be more appropriate?</p>
  
  <p><code>Future&lt;Void&gt; submit(Runnable task)</code></p>