Question:   Is there a white paper or something that explains why some variants are converted to strong types and others are set to object?  I notices in the sample application I have been playing with that not all get set to strong types.  I could not find a difference between the one that was set to string the one that was set to object.

 

Answer:  I do not have a white paper handy.  In general the tool favors strong typing, but it backs off to object if it means introducing something that would break the build.  

There are several possible causes of weak typing:
Having said that, gmStudio provides an extensive set of upgrade configuration tools and techniques that teams improve type inference:
There are a few more advanced techniques to allow for symbols that are used with multiple-types and even to introduce interfaces where object or variant was before. And, last but not least, when warranted by a specific situation, we make changes to the core translation engine or we implement custom type-inference algorithms in Migration DLLs or gmSL scripts.