As I have read through stackoverflow answers and questions I am getting the impression that OO is compartmentalized to to be inherently imperative.
But isn't OO just a way to compartmentalize code and data into real world Objects?
If so, why would that forgo other lower level paradigm to work in such a platform?
IOW, an Object Based generic type system that is immutable by default would be the way a functional first language would work, an object based generic type system that is mutable by default would be the world of imperative languages.
Or am I missing something altogether?
No. OO and imperative are two orthogonal concepts.
For example:
There are lots of different ways to be object-oriented.