Go through the exercises in http://book.realworldhaskell.org/read/