Another functional approach to I/O is "effect systems". I'm not aware of "stable" functional language with them in it though. It's mostly academic at this point.
Here is some research on it: https://www.microsoft.com/en-us/research/publication/koka-pr...