Tabs to spaces
Package names should be identifiers; - to _
Use main.rs for the main executable

This lets us use `cargo run` to build and run the app in one step.
Use map/collect for code generation
Remove unnecessary mutable binding
Tidy up argument parsing