>>>>> "L" == Lyle Johnson <lyle / users.sourceforge.net> writes: L> It looks like the implementation of Foo#initialize should remain the L> same. Is there more to it than that? If you do this all method call must be protected to be sure that #initialize was called. This is what ruby do, for example, with File pigeon% ruby -e 'a = File.allocate; a.read' -e:1:in `read': uninitialized stream (IOError) from -e:1 pigeon% Guy Decoux