text: Title: cli.parser refactoring
  Body: A lot of parts in this module inspect function signatures, we should only do this once as this is not very efficient, instead of having separate functions call `inspec.signature` many times