Base should use native Win32 IO on Windows
There are a variety of issues caused by the impedance mismatch between GHC's use of Posix I/O interfaces on Windows (particularly with respect to console I/O),
- #10542: Incorrect Unicode input on Windows Console
- #7593: Unable to print exceptions of unicode identifiers
- #4471: Incorrect Unicode output on Windows Console
- #2189: hSetBuffering stdin NoBuffering doesn't work on Windows
As pointed on in ticket:2189#comment:30058 the ultimate solution to this would be to move all of GHC's IO to use the respective Win32 interfaces.