  Why is the functional style so much slower than the imperative style? Is there some problem with the functional implementation which is causing such a huge slowdown? If I want to write high performance code, should I ever use this functional style?  