While doing the changes in #1622 I figured that, maybe, some function calls can be precomputed as well (i.e. calls to functions with a side-effect free body that can again be precomputed by PrecomputingExpressionRunner).
For example:
function isNaN<T>(value: T): bool { return value != value; }
function isFinite<T>(value: T): bool { return value - value == 0; }
Do you think that's something worth exploring?