anchor.diff:  
   (defun argument-expand-compiled-values (fun def vals)
     (mapcar (fn ? (and (cons? _)
  -                     (or (eq '&rest _.)
  -                         (eq '&body _.)))
  +                     (argument-rest-keyword? _.))
                   (%argument-expand-rest ._)
                   _)
             (cdrlist (argument-expand fun def vals t))))
  
positive.code: (defun argument-expand-names (fun def)
    (argument-expand fun def nil nil))
  
  (defun argument-expand-values-r (x)
    (when x
      (let a x.
  	  (cons (? (and (cons? a)
             		    (or (eq '&rest a.)
                          (eq '&body a.)))
        		   .a
        		   a)
  		    (argument-expand-values-r .x)))))
   
  (defun argument-expand-values (fun def vals)
    (argument-expand-values-r
      (cdrlist (argument-expand fun def vals t))))
  
  (defun %argument-expand-rest (args)
    (when args
      `(cons ,args.
  
negative.code: ;;;;; tré – Copyright (c) 2008–2012 Sven Michael Klose <pixel@copei.de>
  
  (defun argument-rest-keyword? (x)
    (in? x '&rest '&body))
  
  (defun argument-keyword? (x)
    (in? x '&rest '&body '&optional '&key))
  