Interestingly, I had originally written the same code in C++ some time ago, and this was sort of a "pilot" in porting all of this kind of code I still have to Rust. I must say I'm quite pleased; the resulting code is much smaller due in no small part to lack of headers/ceremony, it's much clearer and more explicit, and because of Cargo it's much easier to distribute and build on multiple platforms. I'll be continuing to develop many more projects like this, including porting a music authoring tool that's been in the works for some time for SNES