Accept and return iodata

There are alot of references to `io lists` in the readme, it is possible to improve how iodata is used.