Why is rv written in Rust, even though it's a tool for managing Ruby interpreters and packages? Why does rv exist in the first place? What's it like to write a tool in Ruby and then a similar tool in Rust? What are the interesting and good parts about writing a developer tool CLI in Rust?