What I am getting at is that OOP languages like C++ have no IO commands built in it is all delegated to libraries.
Haskell has no state support built in, it is all delegated to libraries.
So:
C++ has excellent IO support, but the language doesn't embrace IO at all.
Haskell has excellent State support, but the language doesn't embrace State at all.