OO and Functional are not the only two styles of programming out there. There's actually Functional and Imperative (and maybe others?), with OO being an additional concept that gets tacked onto both functional and imperative languages.
2. Parameterized modules in Erlang can be seen as a form of lightweight functional OOP.
http://www.lshift.net/blog/2008/05/18/late-binding-with-erla... http://www.erlang.se/workshop/2003/paper/p29-carlsson.pdf
"Sweeping generalizations are always bad" :)