The implementation of FastString output need to get at the representation to Handles to do a Good Job. Prelude modules in 0.29 does not export the Handle repr., this little hack fixes this :-) Also added mkUniqueGrimily to avoid bootstrap trouble \begin{code} interface HandleHack where import PreludeStdIO (Handle(..), _Handle(..), _filePtr,_readHandle, _writeHandle, BufferMode, Maybe) import PreludeIOError (_constructError,IOError13(..)) import PreludeGlaST (_MutableArray, _RealWorld) import Unique ( Unique, mkUniqueGrimily ) type Handle = _MutableArray _RealWorld Int _Handle data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool data Unique mkUniqueGrimily :: Int# -> Unique _filePtr :: _Handle -> _Addr _readHandle :: Handle -> IO _Handle _writeHandle :: Handle -> _Handle -> IO () _constructError :: String -> PrimIO IOError13 \end{code}