The documentation on isSafeInteger states: "This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to number.". But it actually doesn't do that, as the native Number.isSafeInteger doesn't do that either.
It would be great if it actually would narrow the type. Same goes for functions like isFinite.