Summary
Congratulations! You’ve made it to the end of this chapter, and the end of Effective Haskell. You’ve learned how to write fast, flexible, type safe code, how to design applications that are easy to refactor, and how to use many of the techniques used in the wild in real Haskell applications. There are many interesting, useful, and sometimes mind boggling clever things to learn in the world of Haskell, but you should close this book knowing that you have all of the tools you need to work with Haskell effectively.
As you move to the exercises at the end of the chapter, and in particular the final capstone exercise, try to take a moment to think through everything that you’ve learned in this book. Compare the approaches you might have taken ...