関数型言語必須?

最近、k.inabaさんのサイトで色々教えてもらっている。
最近では、generator、continuation(call/cc)、Duck Typingなどを教えて頂いた。
これは、関数型言語の考え方が関係していると思われるのだが、私自身、関数型言語を勉強したことないので、これから勉強しようと思う。
PythonC#も勉強中なので、これから忙しくなりそうである。とりあえずは、Haskellか?