"Implementing Exchange support with Rust"
I'm afraid if the authors primary concern is how to handle application/xml in Rust, then they really don't grasp the actual problem.
#Exchange handles a number of highly fragmented/underspecified protocols (SMTP, ICS, *DAV, ...) in a certain way, while
#Thunderbird does so just differently enough (and inconsistently IME) so that everything breaks randomly.
You can't solve this with a cool compiler.
https://blog.thunderbird.net/2024/04/adventures-in-rust-bringing-exchange-support-to-thunderbird/