Hi Mitch: I was thinking about a marriage of traversal automata and strategies. The nodes in a strategy graph can be viewed as states. Consider the strategy with class map: {-> q0:A q1:C -> q1:C q2:D} The class graph is: A = B. B = [C] D. C = B. D = . At class B we have the generated state transitions: ((B q0) (TRAVERSE c q0) (B q1) (TRAVERSE c q1) (TRAVERSE d q1)) Now the "marriage" would consist of allowing the strategy specifier to take complete control at certain classes. For example, we can refine the above strategy with ((A q0) (TRAVERSE b q0) (TRAVERSE b q3) (B extend with (B q3) () // nothing ) This means that at A we traverse the b edge twice and at B we go further only if in states q0 or q1. Regarding visitor actions, I like a specification of the form: before B during {set of states} v1 -> B,c,C during {set of states} v2 same for after. Maybe we want a substrategy in addition to a set of states. It is important that we view the extended strategies to be defined in terms of class-valued variables. -- Karl