Practical foundations for programming languages. - Harper, Robert (Cambridge University Press, 2013)