Theoretical aspects of object-oriented programming : types, semantics and language design - Gunter, Carl A.; Mitchell, John C. (Foundations of computing, 1994)