Note:
hWaitForInput stdin 4294968296
is using fromInteger, not fromIntegral. fromInteger is the member of Num. fromIntegral is defined in terms of it and toInteger.
Deprecating fromIntegral would do nothing to the example you offered at all as it isn't being called.
Like it or not the existing numeric types in the Haskell ecosystem wrap, and changing this behavior would have non-trivial ramifications for almost all Haskell source code written to date.
This isn't a small change you are proposing.
If your goal is to address this micro-issue, it would be a much easier target to aim for hWaitForInput taking an Integer rather than an Int, removing the issue at the source. There are already packages providing safer delays, e.g.
It has gradually become clear that using Int in delay and hWaitForInput and delay the like was a mistake. After all if you're going to set up to block anyways the overhead of allocating a single Integer constructor is trivial.
For comparison, I have zero objection to going after the type signature of hWaitForInput!
Changing fromInteger on the other hand is a Prelude affecting change that bubbles all the way down into Num. I'm very much against breaking every single Num instance, and making every Haskell developer audit every application of a very common function to fix one overflow in one naively designed system call.
-Edward