public override string CLISignature(CLITypePrinterContext ctx)
{
var type = Type as TemplateSpecializationType;
var args = type.Arguments.Select(arg => arg.Type.ToString()).
ToList();
var output = "System::Action";
if (args.Count > 0)
output += string.Format("<{0}>", string.Join(", ", args));
output += "^";
return output;
}