anchor.diff:  			    :initform (make-hash-table :test #'eq)
   			    :documentation "Holds transators with a simple
     from-type (i.e. doesn't contain \"or\" or \"and\").")
  +   (translator-cache-generation :accessor translator-cache-generation :initform 0)
      (presentation-translators-cache
  -    :accessor presentation-translators-cache
  +    :writer (setf presentation-translators-cache)
       :initform (make-hash-table :test #'equal))))
  +
  +(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)))      
  +      (format *trace-output* "~&New generation is ~A: flushing cache on ~W~%" generation table)
  +      (clrhash cache))
  +    (setf generation *current-translator-cache-generation*)
  +    cache))
  +      
  +      
   
   ;;; Returns function lambda list, ignore forms
   (defun make-translator-ll (translator-args)
  
positive.code: 	      (remove old
  		      (gethash (presentation-type-name (from-type old))
  			       simple-type-translators))))
        (clrhash (presentation-translators-cache table))
        (setf (gethash (name translator) translators) translator)
        (push translator
  	    (gethash (from-type translator) simple-type-translators)))))
  
negative.code: ;;; 23.7.1 Defining Presentation Translators
  
  (defclass presentation-translator ()
    ((name :reader name :initarg :name)   
     (from-type :reader from-type :initarg :from-type)
     (to-type :reader to-type :initarg :to-type)
     (gesture :reader gesture :initarg :gesture)
  