Stop passing around method visitors
these overloads are not needed; in fact, they make matters slightly
worse.
Add some dsl/helper methods to eliminate some boilerplate.