Rewriting seems like a pain in the ass, especially because Rust isn't causing your current implementation problems.