The kind of language which influences name mangling.
Convert a namespace stack to a string separated by ::.
TODO should be Optional type, either it has a nesting or it is "global". Don't check the length and use that as an insidential "no nesting".
Name of a C++ namespace.
Nesting of C++ namespaces as a string.
Stack of nested C++ namespaces.
Locaiton of a symbol.
Represent a location.