docs: @Override
      public DirectCompilerResult visitRelExpressionValue(FEEL_1_1Parser.RelExpressionValueContext ctx) {
          DirectCompilerResult value = visit(ctx.val);
          DirectCompilerResult expr = visit(ctx.expression());
  
          Expression expression;
          if (expr.resultType.equals(BuiltInType.LIST)) {
              expression = new MethodCallExpr(
                      new EnclosedExpr(
                              new CastExpr(
                                      TYPE_LIST,
                                      expr.getExpression())),
                      "contains",
                      new NodeList<>(value.getExpression()));
          } else if (expr.resultType.equals(BuiltInType.RANGE)) {
              expression = new MethodCallExpr(
                      null,
                      "includes",
                      new NodeList<>(
                              new NameExpr("feelExprCtx"),
                              expr.getExpression(),
                              value.getExpression()));
          } else {
              expression = new MethodCallExpr(
                      null,
                      "exists",
                      new NodeList<>(
                              new NameExpr("feelExprCtx"),
                              expr.getExpression(),
                              value.getExpression()));
          }
  
          return DirectCompilerResult.of(
                  expression,
                  BuiltInType.BOOLEAN,
                  mergeFDs(value, expr));
      }