   (when (search-forward fstar-subp--done nil t)
     (let* ((status        (cond
                            ((looking-at fstar-subp--success) t)
-                           ((looking-at fstar-subp--failure) nil)))
+                           ((looking-at fstar-subp--failure) nil)
+                           (t 'unknown)))
            (resp-beg      (point-min))
            (resp-end      (point-at-bol))
            (resp-real-end (point-at-eol))


(defun fstar-subp-remove-issues-overlays ()
  "Remove all F* overlays in the current buffer."
  (mapcar #'delete-overlay (fstar-subp-issues-overlays)))

(defun fstar-subp-find-response (proc)
  "Find full response in PROC's buffer; handle it if found."

           when (overlay-get ov 'fstar-subp-issue)
           do (delete-overlay ov)))

(defun fstar-subp-process-response (success response)
  "Process SUCCESS and RESPONSE from F* subprocess."
  (let* ((overlay fstar-subp--busy-now))
    (unless overlay
      (fstar-subp-kill)
      (error "Invalid state: Received output, but no region was busy"))
    (setq fstar-subp--busy-now nil)
    (fstar-subp-clear-issues)
    (fstar-subp-parse-and-highlight-issues success response overlay)
    (pcase success
      (`t
       (fstar-subp-set-status overlay 'processed)
       (run-with-timer 0 nil #'fstar-subp-process-queue))
      (`nil
       (fstar-subp-remove-unprocessed)
       (process-send-string fstar-subp--process fstar-subp--cancel)))))

(cl-defstruct fstar-issue
  level filename line-from line-to col-from col-to message)
