This is a prototype for numeric literal types, in the same vein as string literal types. All numeric syntaxes supported by JS should be supported (as far as I know) in type positions. Additionally, NaN and Infinity are builtin to the typespace as literal subclasses of number. Also with this change: The unary - operator gets contextually typed if its parent is contextually typed and it applies nega