One use case where I found OO particularly unsuitable is applications that rely heavily on events. Trying to understand what's happening is hard, when any call to your object structure can trigger changes at any level of your hierarchy, triggering other changes again, and so on. Luckily, the rising popularity of Swift, Kotlin, and Go, will push for a more reasonable use of OO in combination with FP.
Re: One use case where I found OO particularly unsuitable is applications that rely heavily on events. I agree. Events typically have to "belong" to something in OOP, but how they are best grouped or managed may not fit a single-item belonging-ness. I'd like to see languages which are flexible in how events are organized in file systems. Their file grouping wouldn't have to reflect some object hierarchy or odd code s…
Windows management systems. Everywhere. OOP works like a charm.
Also, all that stuff you are saying about "expression-based" triggering, it exists and working fine...
Also you are mixing OOP with files and folders and I can't understand why...