It seems like in most mainstream programming languages, returning multiple values from a function is an extremely awkward thing.
The typical soluti
If a function returns multiple values, that is a sign you might be witnessing the "Data Clump" code smell. Often data clumps are primitive values that nobody thinks to turn into an object, but interesting stuff happens as you begin to look for behavior to move into the new objects.
Writing tiny helper classes might be extra typing, but it provides clear names and strong type checking. Developers maintaining your code will appreciate it. And useful small classes often grow up to be used in other code.
Also, if a function returns multiple values, then it might be doing too much work. Could the function be refactored into two (or more) small functions?