anchor.diff:  (defvar *id* 0 "Counter used to generate a unique ID.")
   
   (defun unique-id ()
  -  (incf *id*))
  +  (format nil "ui-element-~d" (incf *id*)))
   
   (defclass ui-element ()
     ((id :accessor id)
  
positive.code:   (cl-markup:markup*
     (object-expression element)))
  
  (defclass button (ui-element)
    ((text :initform "" :accessor text :initarg :text)
     (url :initform "" :accessor url :initarg :url)))
  
negative.code:   ((text :initform "" :initarg :text)))
  
  (defmethod (setf text) (text (paragraph paragraph))
    (setf (slot-value paragraph 'text) text)
    (when (slot-boundp paragraph 'buffer)
      (update paragraph)))
  
  (defmethod object-expression ((paragraph paragraph))
    `(:p :id ,(id paragraph) ,(text paragraph)))
  