Further generalization of argument parsing