When generating CLI options, the attrs metadata dict is modified
When generating the CLI options (for click and argparse), we do a user_config.pop(kw). This modifies the attrs field's metadata and subsequent runs fail because kw is no longer in the metadata dict.
Wrapping field.metadata.get(...) with dict(...) would fix this.