Lessons learned from a successful Rust rewrite