Hi Dan,
The only easy implementation I can think of is to mv-instrument every tail call in the program, but that is surely overkill.
Yes, that's currently the only way I see to do it. This issue is orthogonal to how the multiple values are passed - in principle I could have implemented the multiple value passing instrumentation right after adding the return instrumentation code, but it didn't occur to me at the time.
So to clarify, my proposal has two separate components: 1. Pass multiple values on the callee function object 2. Instrument every tail call
Vladimir