 ;;;; Insert a match
 
 (defun fstar--split-match-var-annot (str)
-  "Split var name and <<<>>> type annotation in STR."
+  "Split var name and <<<|||>>> type annotation in STR."
   (save-match-data
-    (if (string-match "\\(.+?\\)<<<\\(.+?\\)>>>" str)
+    (if (string-match "\\(.+?\\)<<<\\(.+?\\)|||\\(.+?\\)>>>" str)
         (let ((var (match-string 1 str))
-              (type (match-string 2 str)))
-          (cons var type))
+              (type (match-string 2 str))
+              (closed (match-string 3 str)))
+          (cons var (cons type closed)))
       (cons str nil))))
 
 (defun fstar--prepare-match-snippet (snippet)

Briefly tries to get results synchronously to reduce flicker, and
then returns nil (in that case, results are displayed
asynchronously after the fact)."
  (when (and (fstar--has-feature 'info) (fstar-subp-available-p)
             (not (fstar-subp--in-issue-p (point))))
    (let* ((query (fstar-subp--positional-info-query (point)))
           (retv (fstar-subp--query-and-wait query 0.01)))
      (pcase retv
        (`(t . (,success ,results))
         (funcall (fstar-subp--info-wrapper
                   (apply-partially #'fstar--eldoc-continuation #'identity)
                   (point))
                  success results))
        (`(needs-callback . ,_)
         (setf (cdr retv)
               (fstar-subp--info-wrapper
                (apply-partially #'fstar--eldoc-continuation #'eldoc-message)
                (point))))))))

(defun fstar--eldoc-truncate-message (fn &rest args)
  "Forward ARGS to FN within scope of binding for `message-truncate-lines'."

  "Handle RESPONSE to a #show-match query.
TYPE is used in error messages"
  (-if-let* ((branches (and response (split-string response "\n"))))
      (let* ((name-str (car branches))
             (branch-strs (mapconcat #'fstar--format-one-branch (cdr branches) "\n"))
             (match (format "match ${%s} with\n%s" name-str branch-strs))
             (indented (fstar--indent-str match (current-column))))
        (let ((yas-indent-line nil))
