A variant of the Visitor design pattern that I didn’t know exists, probably because I didn’t know Visitor is a family of design patterns. It is described very fluently here. Usually it is good for parsing, where the main intent of reflection is prevent changing the interface every time we add parsing functionality.
Actually the Wikipedia entry describe it fully, and I think the best way to understand it is implementing a pretty-printer, since maintaining state in a Visitor class is a very cool bonus. (hopefully I’ll try that)
An addendum to that, is setting up by going over all the reflective values, storing all of the methods inside a hash, and fetching them with a key (from a hash) to avoid reflecting each time and again.