uses the 'declarative' Clap syntax.
it's in beta, but i've mitigated this by pinning the dependency
I think the derive-based declarative style is ultimately more maintainable, and the stringly-typed fluent API irks me.
This is technically a breaking change, since the 'global' args are no longer global. But i don't think they were really working as intended anyway, judging from the comments