Understanding and Evolving the Rust Programming Language