I think the most surprising thing about Rust modules is that you need to """pre-declare""" them, especially since Rust doesn't really use function prototypes.
So when you try to move a module into its own file, you need to keep the `mod foo` in the original file.