I seem to remember way back when that we had multiple visitors for this same reason. One of the visitors was one that visited each node and internally recursed without you having to manually do so, and this does seem quite similar to that.

We ended up removing it, and does the SVH case warrant bringing it back? It would be unfortunate to add more `visit_foo` variants and forget to add them to the SVH visitor, but that minor annoyance may not warrant adding another visitor pattern which has a good amount of duplication with the original.