* There are some edge cases where cargo will allow a lib.rs file to be present but not a main.rs (e.g. a binary cannot be called "examples", which will happen if the crate is called that and a main.rs file is present)