In this chapter, you learned about zipping and flattening collections. You zip collections together when you want to avoid having to iterate over several collections. Instead, you pass data from each collection to the iteratee function. Flattening collections is done to avoid having to traverse nested collections recursively when looking for a value. It's much easier to have the flatten() method do this for us and then iterate over a flat collection.
In the next chapter, we'll look at detecting whether or not collections have actually changed.