code: def _get_args_and_errors(self, minuit=None, args=None, errors=None):
      
      ret_arg = None
      ret_error = None
      if minuit is not None:  # case 1
          ret_arg = minuit.args
          ret_error = minuit.errors
          return ret_arg, ret_error
  
      # no minuit specified use args and errors
      if args is not None:
          if isinstance(args, dict):
              ret_arg = parse_arg(self, args)
          else:
              ret_arg = args
      else:  # case 3
          ret_arg = self.last_arg
  
      if errors is not None:
          ret_error = errors
  
      return ret_arg, ret_error
docs: consistent algorithm to get argument and errors
      1) get it from minuit if minuit is available
      2) if not get it from args and errors
      2.1) if args is dict parse it.
      3) if all else fail get it from self.last_arg