if this was the case we wouldn't have the problem of AbstractFactory that has plagued the Java ecosystem.
if this was the case Golang wouldn't be here seeking to simplify things by not having classes. And having __err__ handling like it does.
it's not pretty but it works.
I pick on the Java because it's ecosystem is broad. However, the over-engineered complexity that resides there makes you wanna stay away.
One could also use this example for arguing the other way. AbstractFactory pattern would not be needed if Java had more rich feature set to begin with, in this particular example anonymous functions. (Which I believe it nowadays have). Patterns emerge when the foundation isn’t solid enough by itself to stand on.
People needed modularity, DI and callback functions (essential complexity) but since the only way to do that with the language was classes, you had to invent AbstractFactory pattern (accidental complexity).