Working through Learn You Some Erlang.