anchor.diff:  				  (cons? def.) (cadr def.)
   				  def.))
   
  -		 check-val
  -		   #'((vals)
  -			    (& apply-values (not vals)
  -				   (err "argument ~A missing" (list num))))
  -
   		 exp-static
   		   #'((def vals)
   			    (& no-static
   				   (err "static argument definition after ~A" (list no-static)))
  -				(check-val vals)
  -				(cons (cons def. vals.)
  +			    (& apply-values (not vals)
  +				   (err "argument ~A missing" (list num)))
  +				(cons (cons (get-name def) vals.)
   					  (exp-main .def .vals)))
   
   		 exp-optional
  
positive.code: 				(cons (cons (get-name def)
  							(get-value def vals))
  					  (?
  						(argument-list-keyword? (cadr def)) (exp-main .def .vals)
  						.def (exp-optional .def .vals)
  					  	(exp-main .def .vals))))
  
  		 exp-key
  
negative.code: 		   #'((def vals)
  				(exp-check-too-many def vals)
  				(?
  				  (argument-keyword? def.)    (exp-optional-rest def vals)
  				  (not (argument-name? def.)) (exp-sub def vals)
  				  (exp-static def vals)))
  
           exp-main
  