public override IEnumerable<Statement> GetChildren() { yield return this.Name; foreach (var ta in TypeArguments) yield return ta; foreach (var a in Arguments) yield return a; if (Argument != null) yield return Argument; }