   "Face used to use for /\\ and \//."
   :group 'fstar)
 
+(defface fstar-universe-face
+  '((t :foreground "forest green"))
+  "Face used for universe levels and variables"
+  :group 'fstar)
+
 (defun fstar-subexpr-pre-matcher (rewind-to &optional bound-to)
   "Move past REWIND-TO th group, then return end of BOUND-TO th."
   (goto-char (match-end rewind-to))

      (set-match-data `(,(1+ (match-beginning 0)) ,(1- end))))
    found))

(defconst fstar-syntax-additional
  (let ((id fstar-syntax-id))
    `((,fstar-syntax-cs
       (0 'font-lock-type-face))
      (,(concat "{\\(:" id "\\) *\\([^}]*\\)}")
       (1 'font-lock-builtin-face append)
       (2 'fstar-attribute-face append))

                "try" "match" "with"
                "if" "then" "else"
                "ALL" "All" "DIV" "Div" "EXN" "Ex" "Exn" "GHOST" "GTot" "Ghost"
                "Lemma" "PURE" "Pure" "STL" "Stl" "ST" "STATE" "St" "Tot")
              'symbols))

(defconst fstar-syntax-builtins
