public static void ZReplace(Node node, Identifier oldName, Node newNode) { if (!(newNode is Expression)) throw new ArgumentException("ZReplace: newNode must be an Expression"); ZReplacer replacer = new ZReplacer(oldName, newNode); replacer.Visit(node); }