I'm more inclined to call them constants; are there different *kinds* of `undefined`? `true` and `false` are constants; `var foo = true;` makes sense. Similarly, `var foo = undefined;` also makes sense. `function` is a type, and `var foo = function;` does not make sense.