anchor.diff:  
   ;;; sub: similar to prop, but key is not necessary a symbol
   (defgeneric sub (hash key)
  -  (:method (hash key) (declare (ignore hash key)) (error "no properties")))
  +  (:method (hash key) (declare (ignore hash key)) :undefined))
   
   (defun normalize-key (key)
     (or (and (numberp key) (->sym (format nil "~A" key)))
  
positive.code:   (find-property hash key :undefined))
  
  (defgeneric (setf prop) (val hash key)
    (:method (val hash key) (declare (ignore hash key)) (error "no properties")))
  
  (defun set-property (hash key val)
    (setf (gethash key (dict hash)) val))
  
negative.code:    (prototype :accessor prototype :initform nil :initarg :prototype)))
  
  (defgeneric prop (hash key)
    (:method (hash key) (declare (ignore hash key)) :undefined))
  
  (defun find-property (hash key &optional default)
    (multiple-value-bind (val exists)
  