IO Effects - lrytz/efftp GitHub Wiki
The IO effect domain is enabled using the compiler option -P:effects:domains:io.
IO is the simplest effect domain you can think of: every method either has an effect, annotated @io, or it is pure, annotated @noIo.
There is nothing more to it, really simple.