I don't know about Mozart, but everything I've read about OCaml suggests that the O in OCaml is second class. I've even heard it quoted that the creator of OCaml doesn't use any of the OO features in OCaml and that most people view them as a failed experiment on the language. Pages like <a href="http://stackoverflow.com/questions/535481/classic-singleton-implementation-in-ocaml" rel="nofollow">http://stackoverflow.com/questions/535481/classic-singleton-...</a> are very telling of the attitude of the OCaml community about its OO features.<p>Scala is the first language I've seen where the OO and functional features are on an even plane and even play nicely together, and where the community is accepting of both styles of programming.