Implement minimal boilerplate CLIs derived from type hints and parse from command line, config files and environment variables