Are you saying I do have a reference to Foo in my code?! There might be a reference to Foo somewhere, but it ain't in my code. You said I couldn't get the object back. I could. But this is all tangential to my original question: "How are these class definitions different?" Your answer seems to be: "They are different internally to Ruby." Well, I knew that. :) If there's no principle behind *why* these are different, fine. I was just wondering if there was something there which I didn't understand (and if there was any way I could actually delete a class no matter how it was created, which you weren't able to do, either). I have come to expect everything to make sense, to be intentional in Ruby; but I think I am getting to the point where I am noticing implementation specifics, rather than language specifics, which are not so easily explained. Anyway, thank you for your responses, Chris