Earlier quoted context omitted.
A decent chunk of OOP patterns was due to lack of language features, notably passing and returning functions
It's both. The *concept* of patterns makes sense. A shared language that developers can use when building things. The *reality* of patterns has been much less useful. The original ones were indeed a reaction to warts in the popular languages of their era. And as we tend to do in our industry, these have been cargo culted along the way and for some reason I still see people talking about them as first class citizens 3…
If you are a language designer and you see lots of people writing the same boilerplate, it behooves you to put it into the language. A pattern is a desire path - pave it. In that sense, they are missing language features.