anchor.diff:  (defmacro log-form-with-value (&body body)
     "records the body form, and the form's return value
      to the list *log-with-value* and then evalues the body normally"
  -  `(let ((logform nil)
  -         (retval ,@body))
  -
  -     ;; YOUR MACRO COMPLETION CODE GOES HERE.
  -
  -     retval))
  +  (let ((retval2 (apply (caar body) (cdr body))))
  +    `(let ((logform nil)
  +	   (retval ,@body))
  +       (push '(:form ,@body :value ,@retval2) *log-with-value*)
  +       retval)))
   
   
   
  
positive.code:   (let ((x 0)
          (y 0))
      (double-setf-BAD x y (+ x 100))
      (assert-equal x ____)
      (assert-equal y ____)))
  
  ;; sets sym1 and sym2 to val
  (defmacro double-setf-SAFER (sym1 sym2 val)
  
negative.code:       (assert-equal '(the axis are (x y z)) `(the axis are ,axis))
        (assert-equal '(the axis are x y z) `(the axis are ,@axis)))
      (let ((coordinates '((43.15 77.6) (42.36 71.06))))
        (assert-equal '(the coordinates are ((43.15 77.6) (42.36 71.06)))
  		    `(the coordinates are ,coordinates))
        (assert-equal '(the coordinates are (43.15 77.6) (42.36 71.06))
          `(the coordinates are ,@coordinates))))
  
  
  