Fully typed java command line parser