The danger of complexity is that people have trouble understanding it and keeping it all in their head. With the right design, you can control how much of that complexity has to be cached in your brain. There's a whole section where you talk about separation of concerns and talk about functions. But there's also classes and there's modules and there's packages.