anchor.diff:        (lambda (&rest args)
   	(if (null around-methods)
   	    (progn (funcall before-chain args)
  -		   (funcall primary-chain args)
  -		   (funcall after-chain args))
  +		   (multiple-value-prog1
  +		       (funcall primary-chain args)
  +		     (funcall after-chain args)))
   	    (funcall (method-function (car around-methods))
   		     (append (cdr around-methods)
   			     (list (lambda (args)
   				     (funcall before-chain args)
  -				     (funcall primary-chain args)
  -				     (funcall after-chain args))))))))))
  +				     (multiple-value-prog1
  +					 (funcall primary-chain args)
  +				       (funcall after-chain args)))))))))))
  
positive.code: 			     (lambda (args next-methods)
  			       (declare (ignore next-methods))
  			       ,@before-chain
  			       ,primary-chain
  			       ,@after-chain)))))))))
  	     
  ;;; In this version of COMPUTE-EFFECTIVE-METHOD-DEFAULT, we do not
  ;;; use the compiler to produce the effective method.  As a
  
negative.code:        (if (null around-methods)
  	   `(lambda (&rest args)
  	      ,@before-chain
  	      (multiple-value-prog1
  		  ,primary-chain
  		,@after-chain))
  	   `(lambda (&rest args)
  	      (funcall ,(method-function (car around-methods))
  		       args
  