Exercises from the second edition of Programming Erlang: Software for a Concurrent World by Joe Armstrong