I think that this function should be a Cart method. That avoids cart re-construction in separated utility function. We can check the result of `adjust_quantities` and decide, to show warning message to the user, or not (in view code). Why this is wrong way?