Why does AsyncContext::async_with need the future inputted to be Send even when parallel feature is not used?