Homework of Functional Programming CMSC 22300, Winter 2015 https://www.classes.cs.uchicago.edu/archive/2015/winter/22300-1/