OO languages can also encourage fully decomposed code. Smalltalk is an excellent example. I have never seen a Smalltalk program that wasn’t fully decomposed into classes and objects. By its very nature, Smalltalk forces this. And, yes, the benefits and rewards are enormous.
Smalltalk is also a great example of reusability.