class Symbol

def <=>(with)

def <=>(with)
  return nil unless with.is_a? Symbol
  to_s <=> with.to_s
end

def [](*args)

def [](*args)
  to_s[*args]
end

def capitalize

def capitalize
  to_s.capitalize.to_sym
end

def casecmp(with)

def casecmp(with)
  return nil unless with.is_a? Symbol
  to_s.casecmp(with.to_s)
end

def downcase

def downcase
  to_s.downcase.to_sym
end

def empty?

def empty?
  to_s.empty?
end

def end_with?(*suffixes)

def end_with?(*suffixes)
  to_s.end_with?(*suffixes)
end

def length

def length
  to_s.length
end

def match(with)

def match(with)
  to_s =~ with
end

def name

def name
  Backports.symbol_names[self] ||= to_s.freeze
end

def name

def name
  to_s.freeze
end

def size

def size
  to_s.size
end

def start_with?(*suffixes)

def start_with?(*suffixes)
  to_s.start_with?(*suffixes)
end

def succ

def succ
  to_s.succ.to_sym
end

def swapcase

def swapcase
  to_s.swapcase.to_sym
end

def to_proc

Standard in ruby 1.8.7+. See official documentation[http://ruby-doc.org/core-1.9/classes/Symbol.html]
def to_proc
  Proc.new { |*args| args.shift.__send__(self, *args) }
end

def upcase

def upcase
  to_s.upcase.to_sym
end