anchor.diff:      (json:encode-json-to-string
        (%tabs-query (json:decode-json-from-string (or query-object "{}"))))))
   
  +(sera:-> tabs-create ((or null string)) string)
   (defun tabs-create (create-properties)
     (let* ((properties (json:decode-json-from-string (or create-properties "{}")))
            (parent-buffer (when (alex:assoc-value properties :opener-tab-id)
  
positive.code:       ("updateUrl" . "")
        ("versionName" . ""))))
  
  (defun buffer->tab-description (buffer)
    (when buffer
      `(("active" . ,(if (member buffer (mapcar #'active-buffer (alex:hash-table-values (windows *browser*))))
                         t nil))
        ("audible" . ,(not (webkit:webkit-web-view-is-muted (gtk-object buffer))))
        ;; TODO: Make those meaningful:
        ("attention" . nil)
        ("autoDiscardable" . nil)
  
negative.code:       ("pinned" . nil)
        ("sessionId" . 0)
        ("successorTabId" . 0)
        ("windowId" . 0))))
  
  (sera:-> tabs-query ((or null string)) (values string &optional))
  (defun tabs-query (query-object)
    (flet ((%tabs-query (query-object)
             (let ((buffer-descriptions (mapcar #'buffer->tab-description (buffer-list))))
  