       (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))))
+             (indented (fstar--indent-str match (current-column) t)))
         (let ((yas-indent-line nil))
           (fstar--expand-snippet (fstar--prepare-match-snippet indented))))
     (message "No match found for type `%s'." type)))


;;; Utilities

(defun fstar--indent-str (str amount)
  "Indent all newlines of STR by AMOUNT."
  (replace-regexp-in-string "\n" (concat "\n" (make-string amount ?\s)) str))

(defun fstar--property-range (pos prop)
  "Find range around POS with consistent non-nil value of PROP."

  "Process CONTENTS of real-time feedback message at LEVEL."
  (let ((header (format "[F* %s] " level)))
    (setq contents (string-trim contents))
    (message "%s" (fstar--indent-str contents header))))

(defun fstar-subp--process-protocol-info (_vernum proto-features)
  "Register information (VERNUM and PROTO-FEATURES) about the protocol."
