Work on a solution for problem 23
Add missing main for problem 17
Rewrite Makefile to use an out/ dir

ghc is weird: https://ghc.haskell.org/trac/ghc/ticket/7311
Solve problem 23
Solve problem 24