Did anyone else notice that the biggest non-academic supporters of functional programming seem to be financial institutions? Is it due to the nature of the problem space? Is it because finance people tend to be more analytical? Something else?
Given you have a basic grasp of bookkeeping, accounting and financial statements: Would you rather program these things in a functional or imperative language? Would you rather store the transactions in a accreting, value oriented database or one that has no inherent notion of these concepts?
Or more generally, if your application has a temporal reporting feature, then you need to be able to ask questions like: "What were these values at date X and what are they going to be at Y?" etc.