 
 (defun fstar-subp-process-overlay (overlay)
   "Send the contents of OVERLAY to the underlying F* process."
-  (fstar-assert (not fstar-subp--continuation))
+  (fstar-assert (not (fstar-subp--busy-p)))
   (fstar-subp-start)
   (fstar-subp-set-status overlay 'busy)
   (let ((lax (overlay-get overlay 'fstar-subp--lax)))

  "Process the next pending overlay of BUFFER, if any."
  (with-current-buffer buffer
    (fstar-subp-start)
    (unless fstar-subp--continuation
      (-if-let* ((overlay (car-safe (fstar-subp-tracking-overlays 'pending))))
          (progn (fstar-log "Processing queue")
                 (fstar-subp-process-overlay overlay))

          (fstar-subp-kill)))
       ;; Allow modifications (after retracting) in pending overlays, and in
       ;; processed overlays provided that F* isn't busy
       ((or (not (fstar-subp--busy-p))
            (fstar-subp-status-eq overlay 'pending))
        (fstar-subp-retract-until (overlay-start overlay)))
       ;; Disallow modifications in processed overlays when F* is busy
