In this chapter, we have seen ways of creating new functions by joining several other functions in different ways, through pipelining (with a variant that we don't recommend, chaining) and composition.
In Chapter 9, Designing Functions - Recursion, we will move on to function design, and study the usage of recursion, which classically is a basic tool in functional programming and allows for very clean algorithm designs.