title: Why Future extends Handler<AsyncResult> in Vertx?
body: <p>For me a <code>Future&lt;T&gt;</code> is an action that will eventually return T, or a provider of an object of type T, while a <code>Handler&lt;AsyncResult&lt;T&gt;&gt;</code> is a handler that will need to do something to a result of T, or a consumer of an object of type T. Why does <code>Future&lt;T&gt;</code> extends <code>Handler&lt;AsyncResult&lt;T&gt;&gt;</code>?</p>
  
  <p>In many functions we have a signature like <code>EventBus::request(String address, Object message, Handler&lt;AsyncResult&lt;Message&lt;T&gt;&gt;&gt; replyHandler)</code>, but we can't pass a Future into this function, can we?</p>