I can live with decorators in Python (and JavaScript while we’re at it) because they’re kind of in the spirit of the language. You have a big bag of tools and are trusted to use them responsibly.
I’ve only had problems when annotations in Java are used to do similar things. At some point you have to admit that all the bypassing of language features means you picked the wrong language, and maybe you don’t want rigorous OO purity after all.
Yeah, the truth is, there are a lot of opinions out there but the vast majority of people are absolutely clueless about how vulnerable human brains are. We have to learn everything the hard way.
If you can wear shoes, you can wear a helmet. It’s not that hard.