[1]
J. Palsberg and M. I. Schwartzbach, “Type substitution for object-oriented programming”, DPB, vol. 19, no. 317, Jul. 1990.