docs: def add_statement(self, line: str, lineno: Optional[int] = None) -> None:
          '''statements are regular python statements'''
          # there can be only one statement block
          if self.category() != 'statements':
              self.values = [line]
          else:
              self.values.append(line)
          if self.statements and self.statements[-1][0] == '!':
              self.statements[-1][-1] += line
          else:
              self.statements.append(['!', line])
          if lineno:
              self.lineno = lineno