Foundations of object-oriented languages types and semantics - Bruce, Kim B. (MIT Press, 2002)