"Functional Programming" is great today precisely because it does not mean the same as it did in 1990 when it thoroughly sucked. Since then it adopted the one good thing about the "Object-Oriented Programming" hoax that really mattered: ad hoc polymorphism — through Type Classes.
The great FP vs OOP war of the 1990s was won... by those who rejected the ground rules of the debate and unified the two instead of opposing them.
Read my blog!