Here's something that @zanzi and me were talking about just a few days ago. Both of us feel like back in the day (10 or 15 years ago?) there was a big flame war of OOP vs functional programming (at least it was a flame war to the small minority of people who had heard of FP). Of course even back then I was taught that working effectively in an OOP language often involved working around the OOP features: "favour composition over inheritance".
Now OOP in industry looks like just a shell of its former might. But even the imperative-vs-functional distinction feels less relevant in practice. Perhaps it's just that I know better programmers now, including getting better myself. But I feel like in many ways the industrial Haskell I write and see is extremely similar to the industrial Python I write and see. Which is to say, mostly referentially transparent except in the few corners where it's more convenient to do imperative things.