14. A computer system including a computer readable medium and a computer processor for generating a typed intermediate representation of a computer program, the computer system comprising: a compiler operable for generating the typed intermediate representation from a source ode representation of the computer program, wherein the source code representation comprises definitions of one or more classes; and wherein the typed intermediate representation comprises one or more existential types that bind type variables bounded by sub-classing bounds for expressing dynamic types of objects that are instances of the one or more classes defined in the source code, and one or more coercion functions operating to coerce between objects of the class name-based representation of the class and records of the corresponding structure-based representation of the class; and wherein the system is further operable for expressing at least one of the one or more classes defined in the source code by a precise intermediate class name which retains a class name-based hierarchy expressed in the source code representation.
14. A computer system including a computer readable medium and a computer processor for generating a typed intermediate representation of a computer program, the computer system comprising: a compiler operable for generating the typed intermediate representation from a source ode representation of the computer program, wherein the source code representation comprises definitions of one or more classes; and wherein the typed intermediate representation comprises one or more existential types that bind type variables bounded by sub-classing bounds for expressing dynamic types of objects that are instances of the one or more classes defined in the source code, and one or more coercion functions operating to coerce between objects of the class name-based representation of the class and records of the corresponding structure-based representation of the class; and wherein the system is further operable for expressing at least one of the one or more classes defined in the source code by a precise intermediate class name which retains a class name-based hierarchy expressed in the source code representation. 18. The system of claim 14 further operable for coercing between objects of the precise intermediate class name and records of the record type associated with the precise intermediate class name.