Before you begin with "1.3-style" monadic I/O, you might as well know the known shortcomings of our implementation, as at 0.26.
The error type is called `IOError13', rather than `IOError'
(which is still the 1.2 type). (Prelude types cannot be renamed, so...) You probably shouldn't be messing with `IOError' much, anyway.
Some of the 1.3 I/O code, notably the Extremely Cool `LibPosix' stuff, is relatively untested. Go for it, but be wary...