anchor.diff:                     (%follow-hint-new-buffer-focus (first result) buffer)
                      (mapcar (alex:rcurry #'%follow-hint-new-buffer buffer)
                              (rest result)))
  -                 :multi-selection-p t
  -                 :annotate-visible-only-p annotate-visible-only-p)))
  -
  -(define-command follow-hint-nosave-buffer (&key annotate-visible-only-p)
  +                 :multi-selection-p t)))
  +
  +(define-command follow-hint-nosave-buffer ()
     "Show a set of element hints, and open the user inputted one in a new
   nosave buffer (not set to visible active buffer)."
     (query-hints "Open element in new buffer"
                  (lambda (result) (mapcar #'%follow-hint-nosave-buffer result))
  -               :multi-selection-p t
  -               :annotate-visible-only-p annotate-visible-only-p))
  -
  -(define-command follow-hint-nosave-buffer-focus (&key annotate-visible-only-p)
  +               :multi-selection-p t))
  +
  +(define-command follow-hint-nosave-buffer-focus ()
     "Show a set of element hints, and open the user inputted one in a new
   visible nosave active buffer."
     (query-hints "Go to element in new buffer"
                  (lambda (result)
                    (%follow-hint-nosave-buffer-focus (first result))
                    (mapcar #'%follow-hint-nosave-buffer (rest result)))
  -               :multi-selection-p t
  -               :annotate-visible-only-p annotate-visible-only-p))
  -
  -(define-command copy-hint-url (&key annotate-visible-only-p)
  +               :multi-selection-p t))
  +
  +(define-command copy-hint-url ()
     "Show a set of element hints, and copy the URL of the user inputted one."
  -  (query-hints "Copy element URL" (lambda (result)  (%copy-hint-url (first result)))
  -               :annotate-visible-only-p annotate-visible-only-p))
  -
  -(define-command bookmark-hint (&key annotate-visible-only-p)
  +  (query-hints "Copy element URL" (lambda (result)  (%copy-hint-url (first result)))))
  +
  +(define-command bookmark-hint ()
     "Show link hints on screen, and allow the user to bookmark one"
     (query-hints "Bookmark hint"
                  (lambda (result)
                    (let ((url (url (first result))))
                      (bookmark-url :url url)))
  -               :multi-selection-p t
  -               :annotate-visible-only-p annotate-visible-only-p))
  -
  -(define-command download-hint-url (&key annotate-visible-only-p)
  +               :multi-selection-p t))
  +
  +(define-command download-hint-url ()
     "Download the file under the URL(s) hinted by the user."
     (let ((buffer (current-buffer)))
       (query-hints "Download link URL"
  
positive.code:     "Creates a DOM element to be used as a hint"
      (ps:let* ((rect (ps:chain element (get-bounding-client-rect)))
                (position (hint-determine-position rect))
                (element (ps:chain document (create-element "span"))))
        (setf (ps:@ element class-name) "nyxt-hint")
        (setf (ps:@ element style position) "absolute")
        (setf (ps:@ element style left) (+ (ps:@ position left) "px"))
  
negative.code:       (declare (ignore source))
        (multiple-value-bind (matching-hints other-hints)
            (sera:partition
             (lambda (element)
               (str:starts-with-p input (plump:get-attribute "nyxt-hint" element) :ignore-case t))
             suggestions
             :key #'prompter:value)
          (append matching-hints other-hints))))
     (prompter:follow-mode-functions (lambda (suggestion)
                                       (highlight-selected-hint :element suggestion)))))
  
  (serapeum:export-always 'query-hints)
  (defun query-hints (prompt function &key multi-selection-p)
    (let* ((buffer (current-buffer)))
      (let ((result (prompt
                     :prompt prompt
  