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