Performs assignment.
When = is invoked as a special form, place must be a symbol. = assigns a new value
to the local or global variable currently bound to that symbol. If the symbol has neither
a global nor a local binding, it's an error.
= is also bound to a macro which performs generalized assignment. When = is invoked
as a macro, if place is a function call, its callee must be a symbol which is bound
to a registered setter. The macro expands to a call to the corresponding
setter function.
(= (global 'a) 100)
; ...expands to...
(global= 'a 100)
The = macro may be invoked with any number of arguments. (= a b, c d) is equivalent
to (= a b) followed by (= c d).