Ты не можешь написать функцию, которая была бы абстрагирована по синхронности
Ты не можешь написать функцию, которая была бы абстрагирована по мутабельности, и?)
И вообще странная претензия, учитывая что ты этого и с обычными футурами сделать не можешь.
Алсо, man Future::wait