anchor.diff:    (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)
  +    (setf (sicl-global-environment:fdefinition function-name environment)
   	  (if method-class-p
   	      (apply #'make-instance generic-function-class
   		     ;; The AMOP does
  
positive.code:      &key
         environment
         (generic-function-class
  	(sicl-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)))
  	   (when (null class)
  	     (error "no such generic-function-class ~s"
  		    generic-function-class))
  
negative.code:     (error "classes don't agree"))
    (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)))
  