http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWorksInPL.shtml