On Sat, Jan 26, 2019, 6:30 AM Anders Hovmöller I don't see anything here that can't be done by returning a dict, a
namedtuple (possibly with optional fields), or some other object with
named fields. They can be optional, they can have defaults, and you can
extend the object by adding new fields without breaking backwards
compatibility. That assumes you knew before hand to do that. The question is about the
normal situation when you didn't. Also you totally disregarded the call site where there is no way to do a
nice dict unpacking in python. The tuple case is super special and
convenient but strictly worse than having properly named fields. To me this question sounds like it's about dict unpacking with one special
case to keep backwards compatibility. My "destructure" module might help. I was playing around with the idea of
dict unpacking and extended it to a kind of case matching.
https://github.com/selik/destructure
Grant Jenks independently came to almost the same idea and implementation.