First run through the text for section 4.1.2
Make Louis happy
Reimplement the symbolic differentiation in a data directed fashion
Rewrite eval to do the dispatch in a data directed style
Implement `and' and `or' as syntax procedures
Add evaluation of `and' and `or' using derived expressions
Implement extended form of cond clauses
Implement `let' as a syntactic transformation
Let*, as nested lets (via derived expressions)