http://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-language-types-number-type makes the case that NaN is produced by the program expression NaN.
Is this distinction really useful? Or could we use NaN everywhere? (Similarly 0, +Infinity, TypeError, etc.)
If we wanted to prefer typographic compatibility with the existing document we could list a set of "code strings" that always get bolded instead of monospaced.