A generic IO interface that could be used for things other than ANSI IO
I think would be a helpful thing. So even if the implementation is not
always provided, define the interface. e.g. f:read(), f:write() etc and
define what to do when a particular IO system does not support the
interface (e.g. read only systems) and define what to do when the
target system has more than one IO system.
This also again raises the question about remove(), rename() being in the
os library rather than the io library.