@johnynek means using `Future.apply`, as opposed to shipping this blocking operations off to a future pool. My understanding is that `Future.apply` uses a call-by-name parameter, which means that client.release won't happen until the user tries to do something with the value of that future.