We need to start discussing about OO in general. We have a generation (or two,three in internet time) that think that OO is the epitomy of software engineering. We have Haskell, Ocaml, and others that can do better
Please don't attempt to rebut with Real World Haskell, unless you have read the book and gone on to build a widely deployed application.