Anecdatally, I&#x27;m a very top-down programmer, and also a discrete math &amp; logic nerd, and I tend to prefer FP. I&#x27;m not sure why you think &quot;math types&quot; tend to work bottom up. Perhaps we mean different things by top-down&#x2F;bottom-up? Can you give an example of what you think of as &quot;top down&quot; design versus &quot;bottom up&quot; design, and why it seems &quot;top down&quot; is easier in an imperative language and &quot;bottom up&quot; easier in a functional one?