If I use CallFunction("MyFunction", "MyStringArg") the it would appear that Marshaller.MarshalClrValue() wraps the argument in an object wrapper.
Luckily I am calling another function before this so I can convert it with
style = "" + style;
and since typeof style is returning object is it wiping out my parameter!
As it happens, I my argument is going through a different function before it