I&#x27;ve had smart people complain that they couldn&#x27;t figure out how to write simple programs in Haskell after days of honest effort.  One problem, I believe, is that functional languages encourage more of a bottom-up approach to design, whereas many C&#x2F;C++ coders naturally decompose problems in a top-down manner.  So math types, who are used to building up grand structures from smaller propositions, find pure FP pretty congenial because they can write smaller independent functions and attack the parts of the problem that they know how to solve.