> when we update one pattern we wonder about the others places in code with the same pattern. Avoiding duplication doesn’t solve that
It can, that's all about how aggressively you factor and structure your code, eg. combinators make it easy to reuse code in different application patterns without rewriting.
In which language do you use combinators for that ?
Even in that case the refactor can introduce mental overhead when having too many different variable / properties names