anchor.diff:    (let h (make-hash-table :test test)
       (dolist (i x h)
         (= (href h i.) .i))))
  +
  +(defun make-hash-table (&key (test #'eq) (size *default-hash-size*))
  +  (%make-hash-table :test test :size size :buckets (make-array size)))
   
   (define-test "HREF symbol key"
     ((let h (make-hash-table :test #'eq)
  
positive.code:     (%with-hash-bucket b i h key
        (? (assoc key b :test tst)
           (= (cdr (assoc key b :test tst)) new-value)
           (= (aref (hash-table-hash h) i) (acons key new-value b)))))
    new-value)
  
  (defun hremove (h key)
    (%with-hash-bucket b i h key
      (= (aref (hash-table-hash h) i)
  	   (remove (assoc key b :test (hash-table-test h)) b))))
  
  (defun hashkeys (h)
    (let keys nil
  	(dotimes (i (length (hash-table-hash h)) keys)
  	  (push (carlist (aref (hash-table-hash h) i)) keys))
      (apply #'append keys)))
  
  (defun copy-hash-table (h)
  
negative.code: 
  (defmacro %with-hash-bucket (bucket idx h key &rest body)
    `(with (,idx    (%make-hash-index ,h ,key)
  	      ,bucket (aref (hash-table-buckets ,h) ,idx))
      ,@body))
  
  (defun href (h key)
  