shared_future::then is const