It depends on what do you mean by OOP. If you want to mimic real life objects (the definition that we were told) that's not gonna work well. If it's about using objects that are communicating with each other through function calls, then it's not wrong at all.
Secondly, respecting functional paradigms, you might want to avoid state, mutation and side effect for classes as well. If you do this, you get classes that are only groups of functions, however, with a huge difference: You can have shared dependencies. So you can loosely couple software units. It has 2 really precious adventages:
- easy unit testing
- code generalization capability