Simplify CanonicalClone
Rewrite CanonicalClone to call AstNode.clone() and CanonicalizeSymbols internally, instead of traversing the AST on its own.
Introduce a DeclaresSymbol trait for AST nodes that declare symbols.
CanonicalClone
Rewrite CanonicalClone to call AstNode.clone() and CanonicalizeSymbols internally, instead of traversing the AST on its own.
Introduce a DeclaresSymbol trait for AST nodes that declare symbols.