You reduce errors by reducing code by wrapping your code in functions, thats functional and its how classes work. This article suggests the opposite just write everything from scratch perfectly, not going to happen.
> there's nothing stopping you from continuing to add those semantic classes, even if they're irrelevant for styling If they are irrelevant to style then it could be applied to anything, it has no meaning and is not semantic.
They don't know what separation of concerns is, or why its a good thing.
>when you get into a situation where one of the buttons needs to have slightly more margin-top than the others
Yea just break your designs consistency im sure your users will love that.