Kotlin argparser
Easy to use and concise yet powerful and robust command line argument
...Each option and positional argument is declared as a property that delegates through a delegate factory method on an instance of ArgParser. The name of an option is inferred from the name of the property it is bound to. The options above are named -v, --name and --count, respectively. There are also two positional arguments.