A workaround could be to create a function receiving any tuple and returning a tuple where the reference is dropped for each element and copies are made.
auto [min, max] = tuple_values(std::minmax(a, b - a));
Perhaps there could be a syntax sugar similar to auto, auto&, auto&&, decltype(auto)