On dashes vs. underscores in crate names:
The Rust Book says dashes: "$ cargo new my-project"
https://doc.rust-lang.org/book/ch07-01-packages-and-crates.html
Rust RFC 430 says underscores: "Crates: snake_case (but prefer single word)"
https://github.com/rust-lang/rfcs/blob/master/text/0430-finalizing-naming-conventions.md
Rust API Guidelines says ¯\_(ツ)_/¯: "Crates: unclear"
https://rust-lang.github.io/api-guidelines/naming.html
with a link to https://github.com/rust-lang/api-guidelines/issues/29
So I guess we're going with dashes.