I really prefer imperative styles of programming over declarative styles. It’s easier for me to trace through a set of discrete transformations and understand the state of the system when I need to debug it. It’s not perfect, and it’s not the right tool for every problem. But when a system is responsible for predictably managing data it’s so easy to test