anchor.diff:  
   (defmethod all-fields ((self document))
     (with-slots (fields) self
  -    (let ((all-fields '()))
  -      (maphash #'(lambda (name fields)
  -		   (declare (ignore name))
  -		   (when fields
  -		     (setf all-fields (append fields all-fields))))
  -	       fields)
  -      all-fields)))
  +    (reduce #'append (table-values fields))))
   
   (defmethod field-count ((self document))
     (with-slots (fields) self
  -    (hash-table-count fields)))
  +    (length (table-entries fields))))
   
   (defmethod entry-count ((self document))
     (length (all-fields self)))
  
positive.code: 
  (defclass document ()
    ((boost :initform 1.0 :initarg :boost :accessor document-boost)
     (fields :initform (make-hash-table :test #'equal))))
  
  (defmethod print-object ((self document) stream)
    (print-unreadable-object (self stream :type T :identity T)
      (let ((field-names '()))
        (with-slots (fields) self
  	(maphash #'(lambda (name fields)
  		     (when fields
  		       (push name field-names)))
  		 fields))
        (format stream "~{~A~^ ~}" (reverse field-names)))))
  
  
  (defun make-document ()
  
negative.code: 
  (defmethod document-fields ((self document) name)
    (with-slots (fields) self
      (table-value name fields)))
  
  (defmethod document-binaries ((self document) name)
    (reduce #'(lambda (a1 &optional a2)
  