the future API now has an internal cache state
now the future value is automatically copied into Go-space and cached in the future struct once you do Get()
it will automatically release the future as well when you run Get() or Cancel() as it is no longer needed because you either already have the value cached now or discarded the result