Recently encountered the Python Fire library and its golang port Fuego that automatically generate the CLI interface for an app based off of the source. After having to create an elaborate CLI interface using clap that kept falling out of date as I added features, I thought this might be a good library to built out for the Rust community.
One nice thing about the Python Fire concept though is that you don't need to define any additional data structures to generate the CLI application—it just parses your existing source, addressing the issue of having to update your struct (for structop) or clap definition every time you make a change.