When changing namespaces, the tool adds leading "::" to references that need to
be fully-qualified, which would affect readability.
We avoid adding "::" when the symbol name does not conflict with the new
namespace name. For example, a symbol name "na::nb::X" conflicts with "ns::na"
since it would be resolved to "ns::na::nb::X" in the new namespace.
Is this needed? Looks like you are removing the name of the symbol here, but from the code below, you only use the first element of it. The QualifiedSymbol should always be a fully-qualified name with at least 1 namespace qualifier in the code, right?