       (,(concat "{\\(:" id "\\) *\\([^}]*\\)}")
        (1 'font-lock-builtin-face append)
        (2 'fstar-attribute-face append))
-      (,(concat "\\_<\\(let\\(?: +rec\\_>\\)?\\)\\(\\(?: +" id "\\)?\\)")
+      (,(concat "\\_<\\(let\\(?: +rec\\)?\\|and\\)\\(\\(?: +" id "\\)?\\)")
        (1 'fstar-structure-face)
        (2 'font-lock-function-name-face))
       (,(concat "\\_<\\(type\\|kind\\)\\( +" id "\\)")


(defconst fstar-syntax-structure
  (regexp-opt '("begin" "end"
                "let" "rec" "in" "val"
                "kind" "type" "logic" "new" "abstract"
                "unfold" "irreducible" "inline_for_extraction" "noeq" "noextract"
                "private" "opaque" "total" "default" "reifiable" "reflectable"

              'symbols))

(defconst fstar-syntax-keywords
  (regexp-opt '("of"
                "forall" "exists"
                "assert" "assert_norm" "assume"
                "fun" "function"
