EDIT can you think of a destructuring method that operates with access by name, rather than by position?
(lo, hi) = getLim();
It seems to me it would have to be something like: Lim lim = getLim();
lo = lim.minimum;
hi = lim.maximum
Pwrhaps records could define an ordering of their fields, so as to enable destructuring by position?