9. At least one computer-readable medium having stored thereon a typed intermediate representation of a computer program, the typed intermediate representation comprising: a class name-based representation of at least one of one or more classes defined in a source code representation of the computer program and the class name-based representation being generated from the source code representation, wherein the name-based representation of the at least one of the one or more classes is based at least in part on a class declaration in the source code representation of the computer program and retains a class name-based class hierarchy expressed in the source code representation; a structure-based representation of the at least one of the one or more classes defined in the source code representation of the computer program and the structure-based representation being generated from the source code representation, wherein the structure-based representation of the at least one of the one or more classes and the name-based representation of at least one of the one or more classes are related to each other via 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 an existential type for binding a type variable with sub-classing bounds and being generated from the source code representation, wherein the type variable represents an exact dynamic type corresponding to the at least one of the one or more classes defined in the source code.
9. At least one computer-readable medium having stored thereon a typed intermediate representation of a computer program, the typed intermediate representation comprising: a class name-based representation of at least one of one or more classes defined in a source code representation of the computer program and the class name-based representation being generated from the source code representation, wherein the name-based representation of the at least one of the one or more classes is based at least in part on a class declaration in the source code representation of the computer program and retains a class name-based class hierarchy expressed in the source code representation; a structure-based representation of the at least one of the one or more classes defined in the source code representation of the computer program and the structure-based representation being generated from the source code representation, wherein the structure-based representation of the at least one of the one or more classes and the name-based representation of at least one of the one or more classes are related to each other via 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 an existential type for binding a type variable with sub-classing bounds and being generated from the source code representation, wherein the type variable represents an exact dynamic type corresponding to the at least one of the one or more classes defined in the source code. 10. The at least one computer-readable medium of claim 9 , wherein the typed intermediate representation further comprises a representation of at least one existential type that binds a type variable with sub-classing bounds for representing an exact dynamic type of objects corresponding to the at least one of the one or more classes defined in the source code representation.