Inverted Polymorphism With Pattern Matching
deliberate-software.com
deliberate-software.com
[TINSTAAFL][1], but what a functional programming paradigm takes away it replaces with brevity, concision, additional type safety, and greater opportunities for the compiler to restate your algorithms in a form more conducive to parallelization and concurrency.
[0]: http://c2.com/cgi/wiki?ExpressionProblem
[1]: http://en.m.wikipedia.org/wiki/There_ain't_no_such_thing_as_...