Since we prefer constructing containers using the std::from_range constructor form over the two-iterator constructor form, a problem occurs with cases like this:
std::vector<T> vec(std::make_move_iterator(that.begin()),
std::make_move_iterator(that.end()));
which is expressed in range form as
std::vector<T> vec(std::from_range, std::views::as_rvalue(that));
but as_rvalue() is still banned. Thoughts?