anchor.diff:  (defun argument-name (x)           x)
   
   (defun error-arguments-missing (fun args)
  -  (error "Arguments ~A missing for function ~A." fun args))
  +  (error "Arguments ~A missing for ~A." args fun))
   
   (defun error-too-many-arguments (fun args)
  -  (error "Too many arguments ~A for function ~A." args fun))
  +  (error "Too many arguments ~A to ~A." args fun))
   
   (defun error-&rest-has-value (fun)
  -  (error "In function ~A: &REST cannot have a value." fun))
  +  (error "In arguments to ~A: &REST cannot have a value." fun))
   
   (defun make-&key-alist (def)
     (with (keys nil
  
positive.code: 		 exp-static
  		   #'((def vals)
  			    (& no-static
  				   (return (err "static argument definition after ~A"
                                  (list no-static))))
  			    (& apply-values? (not vals)
  				   (return (err "argument ~A missing" (list num))))
  				(. (. (argdef-get-name def.) vals.)
                     (exp-main .def .vals)))
  
  		 exp-optional
  		   #'((def vals)
  				(& (argument-keyword? def.)
  				   (return (err "Keyword ~A after &OPTIONAL" (list def.))))
  				(= no-static '&optional)
  				(. (. (argdef-get-name def.)
  				      (argdef-get-value def vals))
  
negative.code: 		 exp-check-too-many
             #'((def vals)
  			    (& (not def) vals
  				   (return (err "Too many arguments. Maximum is ~A, but ~A more given."
                                  (list (length argdefs) (length vals))))))
  
  		 exp-main-non-key
  