anchor.diff:           :if-absent (values nil)
            :if-existing 
            (progn (setf ,place (node-next ,node))
  +                (decf (dict-count ,dict))
                   (values t))))))
   
   ;;;;;;;;;;;;
   (defun make (&key (test 'eql) (rehash-threshold 0.75) (size 8))
  -  (declare (positive-fixnum size))
  +  (declare #.*interface*
  +           (number rehash-threshold)
  +           (positive-fixnum size)
  +           ((or symbol functor) test))
     (let* ((bitlen (integer-length size))
            (buckets-size (ash 1 bitlen)))
       (recalc-rehash-border
  
positive.code: 
  (defmacro each-node ((node buckets &optional return-form) &body body)
    (with-gensyms (head next)
      `(loop FOR ,head ACROSS ,buckets DO
         (loop FOR ,node = ,head THEN ,next
               FOR ,next = (node-next ,node)
               WHILE ,next DO
  
negative.code:                (values index pred node))))
      (recur nil (aref (dict-buckets dict) index))))
  
  (defmacro with-candidate ((node place) (hashcode dict) &body body)
    (with-gensyms (bucket-index pred)
      `(multiple-value-bind (,bucket-index ,pred ,node)
                            (find-candidate ,hashcode ,dict)
  