anchor.diff:        (spinneret:with-html-string
           (:style (style buffer))
           (:h1 (princ-to-string value))
  -        (:p (:raw (value->html value :help-mode help-mode)))))))
  +        (:p (:raw (value->html value)))))))
   
   (defun has-attributes-method-p (object)
     "Return non-nil if OBJECT has `prompter:object-attributes' specialization."
  
positive.code:             :input input
              :sources sources))))))
  
  (defun value->html (value &key (help-mode (current-mode 'help)))
    "Return the HTML representation of VALUE."
    (spinneret:with-html-string
      (cond
        ((consp value)
         (:ul
          (loop for e in value
                for i below (length value)
                collect (:li (:a :href (nyxt-url 'describe-value :value
                                                 (nth i (nyxt/help-mode:inspected-value help-mode)))
                                 e)))))
        ((has-attributes-method-p value)
         (:ul
          (loop for (attribute-key attribute-value) in (prompter:object-attributes value)
                collect (:li attribute-key ": " (:code attribute-value)))))
        (t
         (:raw (princ-to-string value))))))
  
  (define-internal-page-command-global describe-value
      (&key value)
  
negative.code:       (:h1 (format nil "~s" variable)) ; Use FORMAT to keep package prefix.
        (:raw (resolve-backtick-quote-links (documentation variable 'variable) variable))
        (:h2 "Current Value:")
        (:p (:raw (value->html (symbol-value variable)))))))
  
  (define-internal-page-command-global describe-function
      (&key (function (prompt1
  