refactoring sig for VisitFieldFunc (will later apply it to visit list as well)