in principle, Chan looks like a nice way to do pipes within haskell code, or to avoid unsafeInterleaveIO, in combination with getChanContents (which explicitly mentions hGetContents in its API doc). however, i seem to be missing a way to close a channel? am i misinterpreting this library? claus