Rust has a great document describing much of its design rationale: https://doc.rust-lang.org/complement-design-faq.html