anchor.diff:  
   (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)))))
  +	  ,(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 step-form ((clause for-as-on-list))
     `(progn ,(generate-assignments (var-spec clause) (rest-var clause))
  -	  (setq ,(rest-var clause) (cdr ,(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))))))
  
positive.code: 		   :var-spec var
  		   :type-spec type-spec
  		   :list-form list-form
  		   :by-form #'cdr))
  	       (singleton #'identity (constantly t))
  	       'optional-type-spec-parser
  	       (keyword-parser 'on)
  
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))))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  