anchor.diff:  
   (defun weak-pointer-live-p (weak-pointer)
     "Returns true if the weak pointer is still live."
  +  (check-type weak-pointer weak-pointer)
     (logbitp +weak-pointer-header-livep+ (%object-header-data weak-pointer)))
   
   (defun examine-weak-pointer-key (key)
  
positive.code:   "Returns the key, the value, and T if the key is still live, otherwise NIL, NIL and NIL."
    (check-type weak-pointer weak-pointer)
    ;; Make a strong reference to key & value first.
    ;; It'll be set to some other live value if the weak pointer is dead.
    (let ((key (%object-ref-t weak-pointer +weak-pointer-key+))
          (value (%object-ref-t weak-pointer +weak-pointer-value+)))
      ;; Inspect the livep header bit.
  
negative.code:   "Returns the key and T if the key is still live, otherwise NIL and NIL."
    (check-type weak-pointer weak-pointer)
    ;; Make a strong reference to key first.
    ;; It'll be set to NIL if the weak pointer is dead.
    (let ((key (%object-ref-t weak-pointer +weak-pointer-key+)))
      ;; Inspect the livep header bit.
      (if (logbitp +weak-pointer-header-livep+ (%object-header-data weak-pointer))
  