This article conflates abstraction with OO and language features, IMO.
Putting some functionality into an object is not as interesting as running that functionality as a monadic command.
Would be more interesting to run some benchmarks in Haskell using functional abstractions rather than OO machinery.