In fact, a safe static type system for a system such as SRMI is an open problem. Compagnoni, A. B., and Pierce, B. C. Multiple inheritance via intersection types . Also Technical Report 93-18, C.S. Department, Catholic University Nijmegen. This can also be modelled in our calculus, but falls outside the scope of this article. In this section we will add self reference to our model of OOP, so it will be fairly complete.
Self reference is the idea that a method can use the own methods of an object.
In particular, a method can use itself, i.e. be recursive. Because our type system is more powerful, the encoding is simpler. Multiple Inheritance via Intersection Types . Also available as technical report 93-18, computer science, Catholic University Nijmegen. Despite our interest in static issues, we do not develop a type theory for our object models.