         (fstar-subp-retract-until (overlay-start overlay)))
        ;; Disallow modifications in processed overlays when F* is busy
        ((fstar-subp-status-eq overlay 'processed)
-        (user-error "Cannot retract a processed section while F* is busy."))
+        (user-error "Cannot retract a processed section while F* is busy"))
        ;; Always disallow modifications in busy overlays
        ((fstar-subp-status-eq overlay 'busy)
-        (user-error "Cannot retract a busy section."))))))
+        (user-error "Cannot retract a busy section"))))))
 
 (defun fstar-subp-set-status (overlay status)
   "Set status of OVERLAY to STATUS."

    found))

(defun fstar-find-id (bound)
  (fstar-find-id-maybe-type bound nil))

(defun fstar-find-fun-and-args (bound)
  (let ((found))
    (while (and (not found) (re-search-forward "\\_<fun\\_>" bound t))
      (-when-let* ((mdata (match-data))

results in F* being called as 'fstar.exe --in --ab --cd'.

To debug unexpected behaviours with this variable, try
evaluating (fstar-subp-get-prover-args).  Note that passing
multiple arguments as one string will not work: you should use
'(\"--aa\" \"--bb\"), not \"--aa --bb\""
  :group 'fstar)

(defun fstar-subp-get-prover-args ()
  "Compute prover arguments from `fstar-subp-prover-args'."
  (let ((args (if (functionp fstar-subp-prover-args)
                  (funcall fstar-subp-prover-args)
                fstar-subp-prover-args)))
