Using UnsafeIO, however, leaves a creepy unsafe feeling...
I don't fully understand though why it is unsafe. Doesn't hGetContents do the exact same thing (i.e. reading from IO returning a lazy string) but does not require UnsafeIO.
It does; it's just hidden *inside* hGetContents where you can't see it.
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com