tidy up the construction of the ArgumentParser