Stefan; Yeah, the trouble with making your own clone method here is that members are
initialized once, and then written to again in the clone method. The cool thing about constructors is that it offers a way to make a first initialization of members depending on input to the constructor.
I see more issues here. A object may contain other objects, which in ChucK's case might be Shreds. These Shreds have a state and I don't think it's clear what we would do with that. For one thing you couldn't make a *exact* clone in that case as both the original's Shred and the clone's would need to be shreduled and they can't be shreduled at the same spot (though of course they may be a the same logical time). This seems natural and even interesting, considering the many thought experiments about clones that slowly deviate from the original, but it's something that would have to be kept in mind. Just my cents, Kas.