   "Extract locations attached to ISSUE, except the first one."
   (cdr (fstar-issue-locs issue)))
 
+(defun fstar-issue-message-with-level (issue)
+  "Concatenate ISSUE's level and message."
+  (format "(%s) %s"
+          (capitalize (symbol-name (fstar-issue-level issue)))
+          (fstar-issue-message issue)))
+
 (defconst fstar-subp-issue-location-regexp
   "\\(.*?\\)(\\([[:digit:]]+\\),\\([[:digit:]]+\\)-\\([[:digit:]]+\\),\\([[:digit:]]+\\))")
 

(defun fstar-subp--help-echo-at (pos)
  "Compute help-echo message at POS."
  (-when-let* ((issues (fstar-subp--issues-at pos)))
    (concat (mapconcat #'fstar-issue-message issues "\n")
            (fstar-subp--help-echo-for-alt-locs (fstar-subp--alt-locs-at pos)))))

(defun fstar-subp--help-echo (_window object pos)

      (make-fstar-issue
       :level (intern .level)
       :locs (append (mapcar #'fstar-subp-json--parse-location .ranges) alt-locs)
       :message (fstar--string-trim msg)))))

(defun fstar-subp-parse-issues (response)
  "Parse RESPONSE into a list of issues."
