The thing about functional programming is that small pure functions can be easily be proven correct by virtue of being small. By composing complex pure functions from simple functions, we can greatly reduce the amount of time and effort needed to complete them.