   (defconst lfe-type-bifs
     '("abs" "bit_size" "byte_size" "element" "float"
       "hd" "iolist_size" "length" "make_ref" "setelement" ;"size"
-      "round" "tl" "trunc" "tuple_size")
-    "LFE builtin functions (BIFs)"))
+      "round" "tl" "trunc" "tuple_size"
+      "car" "cdr" "caar" "cadr" "cdar" "cddr"
+      ;; Just for the fun of it.
+      "caaar" "caadr" "cadar" "caddr" "cdaar" "cddar" "cdadr" "cdddr" 
+      "list" "list*" "tuple" "binary"
+      "map" "mref" "mset" "mupd" "map-get" "map-set" "map-update")
+    "LFE builtin functions (BIFs) and some type macros"))
 
 (defconst lfe-font-lock-keywords-2
   (append

(defconst lfe-font-lock-keywords-1
  (eval-when-compile
    (list
     (list (concat "(\\(def\\("
                   ;; Base forms and old style names.
                   "\\(ine\\(-module\\|-function\\|-macro\\|"
                   "-syntax\\|-record\\)?\\)\\|"
                   ;; New model function names
                   "\\(un\\|macro\\|syntax\\|test\\)\\|"
                   ;; New model other names
                   "\\(module\\)\\|"
                   "\\(record\\)"
                   "\\)\\)\\>"
                   ;; Any whitespace and declared object.
                   "[ \t]*(?"
                   "\\(\\sw+\\)?")
           '(1 font-lock-keyword-face)
           '(8 (cond ((match-beginning 3) font-lock-function-name-face)
                     ((match-beginning 5) font-lock-function-name-face)
                     ((match-beginning 6) font-lock-variable-name-face)
                     (t font-lock-type-face))
               nil t))
     ))
  "Subdued expressions to highlight in LFE modes.")


       (concat
        "(" (regexp-opt
             '(;; Core forms.
	       "after" "call" "case" "catch" ;"define-function" "define-macro"
	       "funcall" "if" "lambda"
	       "let" "let-function" "letrec-function" "let-macro"
	       "match-lambda" "progn" "receive" "try" "when"
	       "eval-when-compile"
	       ;; Base macro forms.
	       "andalso" "bc" "cond" "do" "flet" "fletrec" "fun" "lc"
	       "let*" "flet*" "match-spec" "macrolet" "orelse" "qlc"
	       ":" "?" "++") t)
        "\\>") '(1 font-lock-keyword-face))
      ;; Type tests.
      (cons
