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