docs: def visitComparisonExpression(self, ctx):
          """
          expression: expression (LTE | LT | GTE | GT) expression
          """
          arg1, arg2 = conversions.to_same(self.visit(ctx.expression(0)), self.visit(ctx.expression(1)), self._eval_context)
  
          if isinstance(arg1, str):
              # string comparison is case-insensitive
              compared = (arg1.lower() > arg2.lower()) - (arg1.lower() < arg2.lower())
          else:
              compared = (arg1 > arg2) - (arg1 < arg2)
  
          if ctx.LTE() is not None:
              return compared <= 0
          elif ctx.LT() is not None:
              return compared < 0
          elif ctx.GTE() is not None:
              return compared >= 0
          else:  # GT
              return compared > 0