code: def copy_node(node):
    
    if not isinstance(node, gast.AST):
      return [copy_node(n) for n in node]
    new_node = copy.deepcopy(node)
    setattr(new_node, anno.ANNOTATION_FIELD,
            getattr(node, anno.ANNOTATION_FIELD, {}).copy())
    return new_node
docs: Copy a node but keep its annotations intact.