anchor.diff:             (gf-name (generic-function-name gf))
              (type-spec-var (nth (1- (type-arg-position gf)) args)))
         `(let ,rebound-args
  -         (,gf-name (prototype-or-error (presentation-type-name
  -                                        ,(or (first (find type-spec-var rebound-args :key #'second))
  -                                             type-spec-var)))
  +         (,gf-name (prototype-or-error
  +                    (presentation-type-name
  +                     ,(or (first (find type-spec-var rebound-args
  +                                       :key #'second))
  +                          type-spec-var)))
                      ,@(mapcar #'(lambda (arg)
                                    ;; Order of evaluation doesn't matter
                                    ;; for symbols, and this shuts up
  
positive.code: 
  (defmethod presentation-translators-cache ((table translator-table))
    (with-slots ((cache presentation-translators-cache)
  	       (generation translator-cache-generation))
        table    
      (unless (or (= generation *current-translator-cache-generation*)
  		(zerop (hash-table-size cache)))            
        (clrhash cache))
      (setf generation *current-translator-cache-generation*)
      cache))
  
negative.code: 
  (defun make-presentation-type-name (name)
    (intern (format nil "(presentation-type ~A::~A)"
                    (package-name (symbol-package name))
                    (symbol-name name))
            :clim-internals))
  
  (defun transform-parameters-lambda-list (ll)
    "Change the destructuring  lambda list so that any optional or key variable
  