OCaml code for Columbia PLT class http://www.cs.columbia.edu/~sedwards/classes/2014/w4115-fall/index.html