Adaptation of the HOL3970 Lambda Programming Lab from JavaOne San Francisco 2013.