Logical foundations of functional programming - Huet, Gerard (Addison-Wesley Publishing Company, Inc, 1990)