Sorry, being a bit of an arse, but I genuinely think the "you don't have to use it" is a very poor argument in favour of a language feature.
Code is primarily a communication mechanism. I use open source libraries extensively; I read their code to understand what they do, to contribute and fix bugs, and to learn.
In my work I roll on and off teams; I inherit codebases over which I had no influence; I have to integrate with libraries where there's little other option.
I can't avoid confusing language features just by not using them whether individually or as a team.
In Groovy I not infrequently encountered DSL code that I found extremely difficult to decipher and to understand what it was doing (some of the dynamic builders...). In Scala some of the shapeless type magic I can only cargo cult, I can't understand why it works.
One of my favourite aspects of Kotlin is that I very rarely find Kotlin code I cannot comprehend.
(I'm not necessarily particularly anti this specific feature, I haven't really tried it yet, but I am wary of it... I use extension functions extensively, and sometimes get confused about the receiver, when there's only one.)