1. A method for identifying a structure of a type to generate a model of the type, the method comprising: providing at least one replacement type for a basic type in a set of basic types by which data types provided by a programming language are defined, the programming language having a set of mechanisms for combining a plurality of basic types in the set of basic types into derived types; receiving an identification of initialization of an instance of the at least one replacement type by a constructor; and generating a type model comprising a description of a data layout of the instance of the type, responsive to the received identification.