The visitor design pattern is a way of separating an algorithm from an object structure upon which it operates. This enables the addition of new operations to existing object structures without modifying those structures. Cobra provides a Vistor base class in its standard library. You can read its doc string and browse its members by looking in [http://cobra-language.com/trac/cobra/browser/cobra/trunk/Source/CobraLang.cobra CobraLang.cobra] online or in your local installation. See also: * http://en.wikipedia.org/wiki/Visitor_pattern * http://www.javaworld.com/javaworld/javatips/jw-javatip98.html