As mentioned in https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html the Cargo.lock file should be checked in for binaries
There was no need to iterate over grapheme clusters
This allows the use of paramaterised testing