# File lib/ast/node.rb, line 133
    def updated(type=nil, children=nil, properties=nil)
      new_type       = type       || @type
      new_children   = children   || @children
      new_properties = properties || {}

      if @type == new_type &&
          @children == new_children &&
          properties.nil?
        self
      else
        original_dup.send :initialize, new_type, new_children, new_properties
      end
    end