I just started using CompletableFuture last week.  The way each method ties your lambdas together without a bunch of type boilerplate is really nice.  I still don&#x27;t have a great handle on all of its methods, though; e.g., what&#x27;s the difference between get() and join()?