private Tuple GetArgNames() { if (fc != null) { return(Tuple.MakeTuple()); } List <string> names = new List <string>(); List <Tuple> nested = new List <Tuple>(); for (int i = 0; i < func.argNames.Length; i++) { if (func.argNames[i].IndexOf('#') != -1 && func.argNames[i].IndexOf('!') != -1) { names.Add("." + (i * 2).ToString()); nested.Add(FuncDef.DecodeTupleParamName(func.argNames[i])); } else { names.Add(func.argNames[i]); } } for (int i = 0; i < nested.Count; i++) { ExpandArgsTuple(names, nested[i]); } return(Tuple.Make(names)); }