       "\\(\\sw+\\)?")
      '(1 font-lock-keyword-face)
      '(3 font-lock-type-face nil t)))
-  "LFE basic type definition expressions.")
-
-(defconst lfe-font-lock-basic-function-keywords
+  "LFE old type definition forms.")
+
+(defconst lfe-font-lock-old-function-keywords
   (eval-when-compile
     (list
      (concat

      "\\(\\sw+\\)?")
     '(1 font-lock-keyword-face)
     '(3 font-lock-type-face nil t)))
  "LFE new style type expressions.")

(defconst lfe-font-lock-new-function-keywords
  (eval-when-compile
    (list
     (concat
      ;; No method here!
      "(\\(def\\(un\\|macro\\|syntax\\|test\\)\\)\\>"
      ;; Any whitespace and declared object.
      "[ \t]*(?"
      "\\(\\sw+\\)?")
     '(1 font-lock-keyword-face)
     '(3 font-lock-function-name-face nil t)))
  "LFE new style function expressions.")

(defconst lfe-font-lock-flavor-keywords
  (eval-when-compile
    (list
     (concat
      "(\\(defflavor\\|defmethod\\|endflavor\\)\\>"
      ;; Any whitespace and declared object.
      "[ \t]*(?"
      "\\(\\sw+\\)?")
     '(1 font-lock-keyword-face)
     '(2 font-lock-type-face nil t)))
  "LFE flavor expressions.")

(defconst lfe-font-lock-keywords-1
  (eval-when-compile
    (list lfe-font-lock-new-type-keywords
          lfe-font-lock-new-function-keywords
          lfe-font-lock-basic-type-keywords
          lfe-font-lock-basic-function-keywords
          lfe-font-lock-flavor-keywords))
  "Subdued expressions to highlight in LFE modes.")

(eval-and-compile

      "list" "list*" "tuple" "binary"
      "map" "mref" "mset" "mupd" "map-get" "map-set" "map-update")
    "LFE builtin functions (BIFs) and some type macros")
  (defconst lfe-core-forms
    '(
      ;; Core forms.
      "after" "call" "case" "catch" "define-function" "define-macro"
