Stamatis>just the option to use it or not in a more friendly way Stamatis>than a system property.
As far as I remember, the key issue here is that new RexBuilder(...) is a quite common pattern, and what you suggest looks like "everyone would have to provide extra argument when creating RexBuilder". On top of that, there are use cases like "new RexCall(...)" in the static context (see org.apache.calcite.rex.RexUtil#not). Making the uses customizable adds significant overhead with doubtful gains. I have not explored the route though, so there might be solutions. For instance, it might work if we have an in-core dependency injection that would hide the complexity when coding :core, however, I don't think we could expose DI to Calcite users. Vladimir