A Symbol is a name that is guaranteed to be unique. They can be used to represent
symbolic constant values, Dictionary keys, etc.
Symbols are represented syntactically as literals which are described in [01 Literals] .
Answer whether the symbol is a class name.
Answer whether the symbol has a trailing underscore.
Convert to a String
Answer the Class named by the receiver.
Return a symbol with a trailing underscore added.
Return a symbol with a trailing underscore removed.
Symbols respond to all unary and binary math operations by returning themselves.
The result of any math operation between a Number or other math object and a Symbol
is to return the Symbol. This allows operations on lists of notes which contain 'rest's
to preserve the rests.