anchor.diff:  
   ;; <<>>=
   (defmacro define-modf-method (name nth-arg (new-val &rest args) &body body)
  +  "Define a new modf method.  It inverts NAME forms by modifying the NTH-ARG
  +term of the arguments of the place form in the MODF macro.  This method can
  +specialize on any of ARGS."
     `(progn
        (defmethod ,(intern (modf-name name) :modf) (,new-val ,@args)
          ,@body )
        (setf (gethash ',name *modf-nth-arg*)
              ,nth-arg )))
   
  -;; <<>>=
  -(defmacro modf-eval (&rest args)
  -  `(progn ,@args) )
  -
   ;; @\section{The {\em modf} macro}
   
  -;; @The <<modf>> macro is the main entry point to the library.
  +;; @The <<modf>> macro is the main entry point to the library.  It passes its
  +;; arguments to the <<modf-expand>> function.
   
  -;; The basic syntax of the <<modf>> macro is as follows
  +;; The basic syntax of the <<modf>> macro is (modf place new-value) where place
  +;; is a normal form for accessing a part of some data.  Modf will invert this
  +;; form into a form that will build a new hunk of data equivalent to the old
  +;; except that the particular specified place will have the value new-value.  It
  +;; inverts based on the rules and functionds defined via define-modf-rewrite,
  +;; define-modf-expander, define-modf-method, and define-modf-function, in that
  +;; order.  It recognizes one special form, modf-eval, which instructs it to not
  +;; try to invert the enclosed form and just evaluate it.
   
   ;; <<>>=
   (defun modf-expand (new-val expr)
  
positive.code: 
  ;; @\section{Exapansions}
  
  ;; <<>>=
  (defvar *modf-expansions*
    (make-hash-table) )
  
  ;; <<>>=
  (defvar *modf-nth-arg* (make-hash-table))
  
  ;; <<>>=
  (defmacro define-modf-expander (name nth-arg
                                  (expr val new-val)
                                  &body body )
    `(setf
      (gethash ',name *modf-expansions*)
      (lambda (,expr ,val ,new-val)
  
negative.code:            (modf ,next-place ,next-value ,@next-args) ))
        (modf-expand value place) ))
  
  ;; <<>>=
  (defmacro modf-eval (&rest args)
    `(progn ,@args) )
  
  