That might be an excellent reason not to use some of these capabilities. And maybe in a different situation it would make sense to use the mechanisms provided. Programmer’s responsibility to decide what’s appropriate in each case, that’s all I’m saying.
As developers we have to decide where and when this makes sense, just like with other language features, libraries, architectural patterns, etc.