docs: def get_args(args, kwargs, arg_names):
      '''Get arguments as a dict.
      '''
      n_args = len(arg_names)
      if len(args) + len(kwargs) > n_args:
          raise MoultScannerError('Too many arguments supplied. Expected: {}'.format(n_args))
  
      out_args = {}
      for i, a in enumerate(args):
          out_args[arg_names[i]] = a
  
      for a in arg_names:
          if a not in out_args:
              out_args[a] = None
  
      out_args.update(kwargs)
      return out_args