Ch 04

cc/ @fabioyamate @carlosgaldino.

Please review.
it didn't work for me, how are you running this code on GHCI? `:load file`?