> In general, initialize method is not guaranteed to be called on every
> object allocation.  So I don't consider this as a bug.
???????
I saw that already with 
  - Array#[] returning an object of the subclass without calling 
#initialize, 
  - exception objects created by #raise (in fact #exception)

so I know that it is the case

But can you explain me why *conceptually* you see that as good practice. I 
find very puzzling that #initialize is not guaranteed to be called, since 
it leaves the object un-initialized.

Regards,
Sylvain Joyeux