anchor.diff:                :allocation :class)
             (background-buffer nil
                                :allocation :class)
  +          (popup-buffer nil
  +                        :allocation :class)
             (description ,(alex:assoc-value json :description))
             (extension-directory ,directory)
             (homepage-url ,(alex:assoc-value json :homepage--url))
  
positive.code:                     (browser-action (browser-action extension))
                      (default-popup (default-popup browser-action))
                      (popup (make-instance 'user-panel-buffer
                                            :title (default-title (browser-action extension)))))
        (nyxt::window-add-panel-buffer
         (current-window) popup
         :right)
        (buffer-load (quri.uri.file:make-uri-file :path (merge-extension-path extension default-popup))
                     :buffer popup))))
  
  
negative.code:    (background-buffer nil
                        :documentation "The buffer to host background page of the extension in.
  Is shared between all the instances of the same extension.")
     (popup-buffer nil
                   :type (or null panel-buffer)
                   :documentation "The panel-buffer to host extension popup in.
  Is only set when popup is active.")
     (description nil
                  :type (or null string))
     (homepage-url nil
  