       (format "This hole has type `%s'" (car hole-info))
     (when (and (fstar-subp--has-feature 'lookup) (fstar-subp-available-p)
                (not (fstar-subp--in-issue-p (point))))
-      (let* ((query (fstar-subp--positional-info-query (point)))
+      (let* ((query (fstar-subp--positional-lookup-query (point)))
              (retv (fstar-subp--query-and-wait query 0.01)))
         (pcase retv
           (`(t . (,status ,results))
-           (funcall (fstar-subp--info-wrapper
+           (funcall (fstar-subp--lookup-wrapper
                      (apply-partially #'fstar--eldoc-continuation #'identity)
                      (point))
                     status results))
           (`(needs-callback . ,_)
            (setf (cdr retv)
-                 (fstar-subp--info-wrapper
+                 (fstar-subp--lookup-wrapper
                   (apply-partially #'fstar--eldoc-continuation #'eldoc-message)
                   (point)))
            nil))))))

    (`success
     (save-match-data
       (funcall callback
                (if (fstar--has-feature 'interactive-json)
                    (mapcar #'fstar-subp-company-json--prepare-candidate response)
                  (delq nil (mapcar #'fstar-subp-company-legacy--prepare-candidate
                                    (split-string response "\n")))))))))

(defun fstar-subp--positionless-info-query (symbol)
  "Prepare a header for an info query for SYMBOL."
  (when (equal symbol "")
    (user-error "Looking up an empty name"))
  (if (fstar--has-feature 'interactive-json)
      (make-fstar-subp-query
       :query "lookup"
       :args `(("symbol" . ,symbol)))

(‘list’, ‘either’, ‘option (nat * _)’, …): "))

(defun fstar-subp--show-match-query (type)
  "Prepare a `show-match' query for TYPE."
  (setq type (replace-regexp-in-string "\n" " " type))
  (if (fstar--has-feature 'json-subp)
      (make-fstar-subp-query
       :query "show-match"
       :args `(("type" . ,type)))
