Introduction
Chapter 1: Starting Out
Chapter 2: Believe the Type
Chapter 3: Syntax in Functions
Chapter 4: Hello Recursion!
Chapter 5: Higher-Order Functions
Chapter 6: Modules
Chapter 7: Making Our Own Types and Type Classes
Chapter 8: Input and Output
Chapter 9: More Input and More Output
Chapter 10: Functionally Solving Problems
Chapter 11: Applicative Functors
Chapter 12: Monoids
Chapter 13: A Fistful of Monads
Chapter 14: For a Few Monads More
Chapter 15: Zippers