Tell me about it: I still think in Scheme when I’m writing any other of CL’s dynamically typed, garbage-collected, first-class function progeny. I just wish that more languages had symbols.
They're just a global enum, almost all languages have enums.
You could say that it's a global (per package) weak hash table, from my understanding.