www.cs.cmu.edu/~rwh/smlbook/book.pdf