Incorrect return type for shared_future::then