docs: def _negate_compare_text(atok: asttokens.ASTTokens, node: ast.Compare) -> str:
      """
      Generate the text representing the negation of the comparison node.
  
      :param atok:
          parsing obtained with ``asttokens`` so that we can access the last tokens of a node.
  
          The standard ``ast`` module provides only the first token of an AST node. In lack of concrete syntax tree,
          getting text from first to last token is currently the simplest approach.
      :param node: AST node representing the comparison in a condition
      :return: text representation of the node's negation
      """
      assert len(node.ops) == 1, "A single comparison expected, but got: {}".format(len(node.ops))
      assert len(node.comparators) == 1, "A single comparator expected, but got: {}".format(len(node.comparators))
  
      operator = node.ops[0]
      left = node.left
      right = node.comparators[0]
  
      left_text = atok.get_text(node=left)
      right_text = atok.get_text(node=right)
  
      text = ''
  
      if isinstance(operator, ast.Eq):
          text = '{} != {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.NotEq):
          text = '{} == {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.Lt):
          text = '{} >= {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.LtE):
          text = '{} > {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.Gt):
          text = '{} <= {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.GtE):
          text = '{} < {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.Is):
          text = '{} is not {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.IsNot):
          text = '{} is {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.In):
          text = '{} not in {}'.format(left_text, right_text)
  
      elif isinstance(operator, ast.NotIn):
          text = '{} in {}'.format(left_text, right_text)
  
      else:
          raise NotImplementedError("Unhandled comparison operator: {}".format(operator))
  
      return text