Big, complex things are made out of many little, simple things—or least they should be. Simple things are easier to write, easier to debug, and easier to change. Functions are beautifully simple. Composing them lets us make big things out of small things. By thinking differently about app architecture, we can start to build our apps out of smaller, simpler things.