Adding an overload for when_all(vetor<shared_future<R>>) which slightly optimizes this case