A question for anyone familiar with the implementation of %compactdefaultargs - if I wanted to add support for %compactdefaultargs to C#, how difficult would it be?

The documentation currently states that %compactdefaultargs "does not work for the statically typed languages, such as C# and Java, which don't have optional arguments in the language.” As it turns out, C# DOES support default arguments.  The CLR has supported default arguments from the beginning, and C# as a language has supported it explicitly since C# 4.0.  Even if you’re targeting a previous version of C#, as long as you’re using Visual Studio 2010 or later to compile the code (or a recent version of Mono), default arguments will compile in any version of C#.