[Haskell-cafe] How to dynamically attach readers to streams?