My attempt at doing the exercises in the Real World Haskell book