Massive pain to extend and maintain; need to rethink how I parse the Rust code and codegen the TypeScript.