Marc: Inline (values x0) to x0, so that values can be used as the identity function in, e.g., (cond (expr1 => values) (else expr2)) gets expanded to (let ((temp expr1)) (if temp temp expr2)) I've found quite a few places where it would be beneficial to inline (map proc list-1 list-2) and (for-each proc list-1 list-2) Brad