If you ever find yourself writing a type Future<... or Future[... or whatever... then you're using an implementation of futures that has entirely missed the point of what a future is. The big idea was that futures were the same type as the value, and had no get method.