to avoid interop problems. For instance, VB.NET supports the concept of
optional parameters, C# doesn't. While it is possible to call these
methods from C#, it get's kind of ugly - so, it is better to use
function overloading instead of optional parameters if you plan on using
the dll across both languages.