anchor.diff:  ;;   { $duplicate + } is of type (INTEGER) -> (INTEGER), not T -> (INTEGER)
   ;; * be more strict when checking the type of a popped form
   ;; * If call.type$ occurs only once (in an ITERATE command),
  -;;   use CASE instead of ASSOC/FUNCALL.
  +;;   use CASE instead of ASSOC/FUNCALL?
   ;; * Handle the "tail-recursive" family of FORMAT.NAMES functions:
   ;;
   ;;FUNCTION {format.names}
  
positive.code: ;;; Packaging the computed data
  
  (defun set-union (&rest lists)
    (if (null lists)
        ()
        (reduce (lambda (a b)
  		(union a b :test 'equalp))
  	      lists)))
  
  (defun package-as-body ()
    "Build a Lisp body corresponding to the computation captured in
  
negative.code: 	    (0 (make-let*)
  	       (setq body (cons (mvform-form (binding-mvform binding))
  				body)))
  	    (1 (let ((form (mvform-form (binding-mvform binding))))
  		 (push (if (equal '(values) form)
  			   ;; Lexical binding without useful values
  			   (variable-name (car (binding-variables binding)))
  			   ;; Lexical binding with useful values
  			   `(,(variable-name (car (binding-variables binding)))
  			     ,(mvform-form (binding-mvform binding))))
  		       let-bindings)))
  	    (t (make-let*)
  	       (setq body
  		     (list `(multiple-value-bind
  