docs: private Expression groundToNullIfAnyIsNull(Expression originalOperation, Expression... arguments) {
          // Q: What is heavier, checking a list of arguments each one is not null, or just doing the operation on the arguments and try-catch the NPE, please?
          // A: raising exceptions is a lot heavier
          BinaryExpr nullChecks = Stream.of(arguments)
                                        .map(e -> new BinaryExpr(new EnclosedExpr(e), new NullLiteralExpr(), BinaryExpr.Operator.EQUALS))
                                        .reduce( (x, y) -> new BinaryExpr(x, y, BinaryExpr.Operator.OR) )
                                        .get();
  
          return new ConditionalExpr(new EnclosedExpr(nullChecks), new NullLiteralExpr(), originalOperation);
      }