I'm pleased to say that I've (practically) completed implementing the irr.io module. The only exception is a few methods of the hideous irr.io.IAttributes type, namely the methods dealing with binary and enum types. I could do them, but I don't feel like it right now. I also see that there are very substantial additions to that class API waiting in Irrlicht SVN, so I'll have to revisit it for the next release anyway. It can wait. I want to move on to more immediately useful types. Like, for example, irr.video, which I thought I was going to do first but ended up needing to do irr.io instead.
This module was also much easier than irr.core. There were some wrinkles due to Unicode issues and void* buffer parameters, but nothing that proved extremely difficult. IAttributes was the worst due to the large number of member functions and overloads.
Up next: the irr.video module. Really. Soon, I'll actually be able to draw something. Really. I mean it this time.