dialogueToIO :: Dialogue -> IO ()
dialogueToIO
is included just to illustrate that it is possible to convert a
Dialogue I/O function to a monadic I/O function.
The implementation relies on
getChanContents
to construct the lazy list of responses needed by
the dialogue IO function.