ok, the best I have a the moment is 3.2.0 and I am sure its in Delphi mode..
this kind of puts the breaks on hard with this project then because there is a lot of code that uses overloading via the results type.
I just did a experiment with variants to see if possibly the compiler would be resetting the expected return type in the return allocator so that I could inspect the return before setting it to a value to determine what to be expected. But that also fails. To bad the compiler didn't have a switch in there for that to preset the desired return type before calling the function.. it would make this a lot easier.