anchor.diff:  
   (defun find-hash-table-slot-1 (key hash-table)
     (do* ((free-slot nil)
  -        (hash (compute-hash key (hash-table-test hash-table)))
  +        (hash (funcall (hash-table-hash-function hash-table) key))
           (size (hash-table-size hash-table))
           (test (hash-table-test hash-table))
           (storage (hash-table-storage hash-table))
  
positive.code:   (check-type rehash-size (or (integer 1 *) (float (1.0) *)))
    (check-type rehash-threshold (real 0 1))
    (%make-hash-table :test test
  		    :rehash-size rehash-size
  		    :rehash-threshold rehash-threshold
  		    :storage (make-array (* size 2) :initial-element *hash-table-unbound-value*)))
  
  (defun gethash (key hash-table &optional default)
    (check-type hash-table hash-table)
  
negative.code: ;; done automatically by defstruct?
  (deftype hash-table ()
    `(satisfies hash-table-p))
  
  (defun hash-table-test-hash-function (test)
    (ecase test
      ((eq) 'eq-hash)
      ((eql) 'eql-hash)
      ((equal) 'sxhash)
      ((equalp) 'equalp-hash)))
  
  (defun make-hash-table (&key (test 'eql) (size 101) (rehash-size 2.5) (rehash-threshold 0.5))
    ;; Canonicalize and check the test function
  