anchor.diff:  (defmethod initial-bindings ((clause for-as-list))
     `((,(list-var clause) ,(list-form clause))
       (,(rest-var clause) ,(list-var clause))
  -    ,@(if (member (by-form clause) (list #'cdr #'cddr))
  +    ,@(if (member (by-form clause) '(#'cdr #'cddr) :test #'equal)
   	  '()
   	  `((,(by-var clause) ,(by-form clause))))))
   
  
positive.code: 
  (defmethod step-form ((clause for-as-in-list))
    `(progn ,(generate-assignments (var-spec clause) `(car ,(rest-var clause)))
  	  (setq ,(rest-var clause) (cdr ,(rest-var clause)))))
  
  (defmethod step-form ((clause for-as-on-list))
    `(progn ,(generate-assignments (var-spec clause) (rest-var clause))
  	  (setq ,(rest-var clause) (cdr ,(rest-var clause)))))
  
negative.code: (defmethod prologue-form ((clause for-as-in-list) end-tag)
    `(progn ,(termination-form clause end-tag)
  	  ,(generate-assignments (var-spec clause) `(car ,(rest-var clause)))
  	  ,(if (member (by-form clause) '(#'cdr #'cddr) :test #'equal)
  	       `(setq ,(rest-var clause)
  		      (,(cadr (by-form clause)) ,(rest-var clause)))
  	       `(setq ,(rest-var clause)
  		      (funcall ,(by-var clause) ,(rest-var clause))))))
  
  (defmethod prologue-form ((clause for-as-on-list) end-tag)
    `(progn ,(termination-form clause end-tag)
  	  ,(generate-assignments (var-spec clause) (rest-var clause))
  	  ,(if (member (by-form clause) '(#'cdr #'cddr) :test #'equal)
  	       `(setq ,(rest-var clause)
  		      (,(cadr (by-form clause)) ,(rest-var clause)))
  	       `(setq ,(rest-var clause)
  		      (funcall ,(by-var clause) ,(rest-var clause))))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  