code: def _stmt_check(self, req: set, legal: set, stmt: dict) -> dict:
          
          # debug the argument list
          if self.logger.level == 10:
              for k, v in stmt.items():
                  print("Key: " + k + ", Value: " + str(v) + ", Type: " + str(type(v)))
  
          # required statements
          reqSet = req
          if len(reqSet):
              self.logger.debug("reqSet: {}".format(reqSet))
              missing_set = reqSet.difference(set(stmt.keys()))
              if missing_set:
                  if not stmt.get(
                          'score'):  # till we handle either/or required. proc can be called more than one way w/ diff requirements
                      raise SyntaxError(
                          "You are missing %d required statements:\n%s" % (len(missing_set), str(missing_set)))
  
          # legal statements
          legalSet = legal
          if len(legalSet):
              self.logger.debug("legalSet: {}".format(legalSet))
              if len(reqSet):
                  totSet = legalSet | reqSet
              else:
                  totSet = legalSet
              generalSet = {'ODSGraphics', 'stmtpassthrough', 'targOpts', 'procopts'}
              extraSet = set(stmt.keys() - generalSet).difference(totSet)  # find keys not in legal or required sets
              if extraSet:
                  self.logger.debug("extraSet: {}".format(extraSet))
                  for item in extraSet:
                      stmt.pop(item, None)
                  warnings.warn(
                      "The following {} statements are invalid and will be ignored:\n{}".format(len(extraSet), extraSet))
          self.logger.debug("stmt: {}".format(stmt))
          return stmt
docs: This method checks to make sure that the proc has all required statements and removes any statements
          aren't valid. Missing required statements is an error. Extra statements are not.
          :param req: set
          :param legal: set
          :param stmt: dict
          :return: dictionary of verified statements