A visitor for declarations, in the style of the standard visitor
design pattern. Classes implementing this interface are used to
operate on a declaration when the kind of declaration is unknown at
compile time. When a visitor is passed to a declaration's {@link
Declaration#accept accept} method, the most specific
visitXxx method applicable to that declaration is
invoked.