I think my general approach to Rust (and to C++ before that) in this type of scenario, is to treat it as a "better C", and take the absolute minimum of dependencies I can get away with