def to_value
      case self.type
      when :int, :str, :sym
        self.children.last
      when :true
        true
      when :false
        false
      when :array
        self.children.map(&:to_value)
      when :irange
        (self.children.first.to_value..self.children.last.to_value)
      when :begin
        self.children.first.to_value
      else
        raise Synvert::Core::MethodNotSupported.new "to_value is not handled for #{self.debug_info}"
      end
    end
def to_value
      case self.type
      when :int, :str, :sym
        self.children.last
      when :true
        true
      when :false
        false
      when :array
        self.children.map(&:to_value)
      when :irange
        (self.children.first.to_value..self.children.last.to_value)
      when :begin
        self.children.first.to_value
      else
        raise Synvert::Core::MethodNotSupported.new "to_value is not handled for #{self.debug_info}"
      end
    end
Return the exact value.

 @return [Object] exact value.
 @raise [Synvert::Core::MethodNotSupported] if calls on other node.