1 Decades of continual rapid advances in processor speeds came to an end around the turn of the century.
2 Closures aren't handled efficiently by current JVMs, so they add considerable overhead to the innermost loop of the calculation.
3 So you can use a future as a special sort of collection — one that contains at most one value (and might not even contain that one value until some ..