A computer-readable medium storing program instructions that when executed on a computing device cause the computing device to perform: identifying, in a class file, a class name represented by a structural description, wherein the structural description comprises information identifying a generator function and one or more parameters for the generator function; executing the generator function to generate results including information usable to create a class, wherein said executing comprises providing the one or more parameters as input to the generator function; generating the class corresponding to the class name, wherein said generating is based, at least in part, on the results from said executing; identifying another structural description, wherein the other structural description comprises information identifying another generator function and one or more other parameters for the other generator function; and determining (520, 540) whether the structural description and the other structural description represent two equivalent classes based, at least in part, on a comparison between the structural description and the other structural description and a comparison between the one or more parameters and the one or more other parameters, wherein the comparison between the structural description and the other structural description comprises using a compiler configured to call a method associated with the generator function or the other generator function, wherein the compiler passes the structural description and the other structural description to the method to determine whether the structural description and other structural description represent equivalent classes. identifying, in a class file, a class name represented by a structural description, wherein the structural description comprises information identifying a generator function and one or more parameters for the generator function; executing the generator function to generate results including information usable to create a class, wherein said executing comprises providing the one or more parameters as input to the generator function; generating the class corresponding to the class name, wherein said generating is based, at least in part, on the results from said executing; identifying another structural description, wherein the other structural description comprises information identifying another generator function and one or more other parameters for the other generator function; and determining (520, 540) whether the structural description and the other structural description represent two equivalent classes based, at least in part, on a comparison between the structural description and the other structural description and a comparison between the one or more parameters and the one or more other parameters, wherein the comparison between the structural description and the other structural description comprises using a compiler configured to call a method associated with the generator function or the other generator function, wherein the compiler passes the structural description and the other structural description to the method to determine whether the structural description and other structural description represent equivalent classes.