We make heavy use of the visitor design pattern in CSU 670. It is important that you learn about the visitor design pattern and its many uses in the context of the trading robot. This knowledge can be readily transferred to numerous industrial projects. Just google for "visitor pattern" to see the interest in this topic. We use a specific implementation of the visitor design pattern, called DemeterF, which allows us to program more abstractly. But we could use many other implementations of the visitor design pattern. However, DemeterF is the best one I know of: 1. High-level functional programming that makes it easier to reason about your programs. 2. Better traversal abstraction (e.g., Bc). 3. Paralleization possibility for multi-core. Every other implementation is either hard wired (traversal wise) or forces you to encode traversal order in side effects. Eventually, we need to program and make assumptions about the structure. To do this we need to either use names to refer to fields or we we rely on the ordering of the fields and refer to them by number. In DemeterF we rely on the ordering which makes programs dependent on the ordering of fields. On the other hand, we rarely have to refer to fields by name. In other courses you have been taught to use field names and to program the traversals manually. It is good to see a different software architecture relying on ordering and automatic traversals. Indeed, DemeterF has grown out of Bryan Chadwick's industrial experience at Synposis. Visitors are being used more and more at Synopsis.