Logical Foundations of Functional Programming (Addison-Wesley Publishing Company, 1990)