anchor.diff:                     (%continue :speculative-search) ; start speculative search
                      ;; :speculative-search
                      (%continue :speculative-search) ; continue speculative search
  -                   (return-from %expand
  -                     (%finish conservative-template pme-or-place env oldp))))))))))
  +                   (%finish conservative-template conservative-place env oldp)))))))))
       (recurse place-modification-expression :top-level #'identity #'identity)))
   
   (defmacro modify (&rest place-modification-expressions &environment env)
  
positive.code:                  (error "~S is not a valid place-modification-expression."
                          pme-or-place))
                 (when (eq operator :place)
                   (return-from %expand
                     (%finish speculative-template (second pme-or-place) env oldp)))
                 (when top-level-p
                   (setf state :conservative-search)))
  
negative.code:                                   '(cons (eql :old) (cons t null)))
                             (prog1 t
                               (setf place-modification-expression
                                     (second place-modification-expression)))))
                  conservative-place)
    (labels
      ((recurse (pme-or-place state conservative-template speculative-template)
         (unless (consp pme-or-place)
           (return-from recurse
             (%finish conservative-template conservative-place env oldp)))
         (destructuring-bind (operator &rest args) pme-or-place
           (multiple-value-bind (pm-name variant)
               (place-modifier:parse-operator operator)
  