Added io::Writer and supporting traits