Let me use the initials C, S, and F for denoting the class struture we operate on, the strategy to we use to traverse the class structure, and the functionality we want to execute during this traversal, respectively. I will use B for denoting the resulting behavior after C, S, and F are composed together.
Nested visitors relay on concrete method or visitor names to access the functionality of each other.
So, what can be done to further decouple. What that means is as follows. That restricts the application of Summing only to those C instances that has a method with this name. That means, we require F to make explicit in a generic way what it provides. The visitors should be implemented such that they access only the return of their immediate nested visitor.