anchor.diff:  			          (& def (exp-main-non-key def vals))))))
   
     (with ((a k) (make-&key-alist adef))
  -	 (= argdefs a
  -	    key-args k
  -	    num 0
  +	 (= argdefs   a
  +	    key-args  k
  +	    num       0
   	    no-static nil
  -	    rest-arg nil)
  +	    rest-arg  nil)
   	 (%nconc (exp-main argdefs alst)
   			 (%nconc key-args
   			 		 rest-arg)))))
  
positive.code: 				(make-&key-descr ._)
  				(cons _. (copy-def-until-&key ._)))])
  
  	(= &keys nil) ; XXX Remove this?
  	(values (copy-def-until-&key def)
              (reverse &keys))))
  
  
negative.code: 				  (cons? def.) (cadr def.)
  				  def.))
  
  		 exp-static
  		   #'((def vals)
  			    (& no-static
  				   (err "static argument definition after ~A" (list no-static)))
  			    (& apply-values (not vals)
  				   (err "argument ~A missing" (list num)))
  				(cons (cons (get-name def) vals.)
  					  (exp-main .def .vals)))
  
  		 exp-optional
  