anchor.diff:       &key
          environment
          (generic-function-class
  -	(sicl-environment:find-class 'standard-generic-function environment))
  +	(sicl-global-environment:find-class
  +	 'standard-generic-function environment))
          (method-class nil method-class-p)
        &allow-other-keys)
     (declare (ignore function-name))
     (cond ((symbolp generic-function-class)
  -	 (let ((class (sicl-environment:find-class generic-function-class
  -						   environment)))
  +	 (let ((class (sicl-global-environment:find-class
  +		       generic-function-class environment)))
   	   (when (null class)
   	     (error "no such generic-function-class ~s"
   		    generic-function-class))
  
positive.code:   (let ((remaining-keys (copy-list all-keyword-arguments)))
      (loop while (remf remaining-keys :generic-function-class))
      (loop while (remf remaining-keys :environment))
      (setf (sicl-environment:fdefinition function-name environment)
  	  (if method-class-p
  	      (apply #'make-instance generic-function-class
  		     ;; The AMOP does
  
negative.code: 	 (error "generic function class must be a class or a name")))
    (when method-class-p
      (cond ((symbolp method-class)
  	   (let ((class (sicl-global-environment:find-class
  			 method-class environment)))
  	     (when (null class)
  	       (error "no such method class ~s" method-class))
  	     (setf method-class class)))
  