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