visitor logic clarified. external predicate case fixed in FIRST calculation.