>>>>> "S" == Sean Russell <ser / efn.org> writes: S> You'd have to define your classes in such a way that your initialize() S> comes before your attr_initializer statement. This is the first problem. The second problem is that you can't give argument do #__initialize_more__ S> Maybe there's a way around this. The biggest problem, for me, is that attr_{reader,writer,accessor} are *optimizations* (and not only shortcup) attr_initializer (why this long name, rather than attr_init. Why make the same error than for #initialize ?) can be an optimization if it don't take a block, or try to call a method. S> Anyway, doing it would mean only introducing one new concept S> (attr_initializer) rather than two (attr_initializer and S> initialize_more). Why don't you write an extension (it's really easy) to test it and see if it's really *usefull* ? Guy Decoux