What is the significance of using methods given below for the class classBuilder, which in effect are used for creating subclasses of these different categories? Meaning, is there something dramatic about making these different types of subclasses instead of just simply having something like a generic subclass only? 

superclass: t1 subclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6

superclass: t1 variableByteSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6

superclass: t1 variableSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 

superclass: t1 variableWordSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6 

superclass: t1 weakSubclass: t2 instanceVariableNames: t3 classVariableNames: t4 poolDictionaries: t5 category: t6