If a reference is passed to the Visit() method, it is assumed to be the definition. This method assumes it is a reference to a definition. For example, if a Let node is visited, is it the Let definition or a reference to the the Let definition? Without context, it is ambiguous. This method allows a caller to disambiguate.