public override string ToString() { if (Declaration.Name == "#anonymous") { return(Declaration.Accept(new AnalysedAstPrinter())); } if (Arguments?.Length > 0) { var args = string.Join(", ", Arguments.Select(a => a?.ToString())); return($"{Declaration.Name}[{args}]"); } return($"{Declaration.Name}"); }