anchor.diff:    "Returns the value and T if the key is still live, otherwise NIL and NIL."
     (check-type weak-pointer weak-pointer)
     ;; Make a strong reference to value first.
  -  ;; It'll be set to some other live value if the weak pointer is dead.
  +  ;; It'll be set to NIL if the weak pointer is dead.
     (let ((value (%object-ref-t weak-pointer +weak-pointer-value+)))
       ;; Inspect the livep header bit.
       (if (logbitp +weak-pointer-header-livep+ (%object-header-data weak-pointer))
  
positive.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 some other live value 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))
  
negative.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.
    ;; They'll be set to NIL 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.
  