Completed exercise 33, HtDP.