I just found, that when i tried to redefine previously declared regular class to a variable one, the ClassBuilder bugs me with error, that 'class can't be recompiled'. Just two doits to reproduce the problem: Object subclass: #Blabla instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Whatever'. Object variableSubclass: #Blabla instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Whatever'. i wonder what the reason of preventing me to redefine a mistakenly defined class, which having 0 methods? And even if i have the methods, so what? I think that this limitation is too strict. I find it quite inconvenient , since now, to redefine a class, i have to rename old one, then define a new one which is variable from a start and then manually copy methods from old one. Another funny thing that i found, that you can actually do: | string | string := 'Blabla'. Object subclass: string instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Whatever'. Smalltalk at: string " returns a class you just defined." Its fun, but having no sense. What is interesting that OB can display this class (but not in a regular way, you can find it in smart groups pane, after searching for 'Blabla'). The above is true for both 3.10 and Pharo-10178 (and i think a more recent Pharo have same behavior). -- Best regards, Igor Stasenko AKA sig.