The test was previously calling `hasSymbol`, now it checks `.symbol != NoSymbol`. Is this intentional, or needed by this PR to work properly? The two different ways are not equivalent (I think the change is correct, but I wonder if this was pointed by a problem or just a side-effect of refactoring).