I use Object Oriented Programming (OOP) and the Wolfram Language daily. There are huge advantageous to both, but the ones in WL are, in my opinion, greater so I'd like to understand how the benefits of OOP can be paralleled in WL.
OOP makes it very easy to "silo" data into objects, access relevant methods, and understand return types much easier than in WL. There are a hodgepodge of workarounds in WL: Contexts, Associations, Modules, and WSM. But ultimately they're not as easy to use as OOP unless I'm missing something.
The WL has recently added Entities, TimeObjects, and other object formats, but I don't see how this can be generalized to any user-defined class and object instantiation. Any thoughts form the community?