I'm having bad times with this odd problem here.
I have caching class, that recieves key and instance, caches it and 
returns result. For some reason when instance of class Foo cached, 
after it's return it no longer makes following statement true: Foo 
=== instance. instance.class still gives me Foo class, but when i'm 
trying to do Foo == instance.class I still get false.
My question is -- what can happen to a class so it would not longer be 
able to recognize itself? 
I'm not doing anything fancy within cache, just wrapping instance in 
CacheInstance that returns it when asked.

Any help appreciated!
-- 
sdmitry -=- Dmitry V. Sabanin
http://muravey.net