Thank you all for the answers! :)
If Alt/Cmd + . doesn't work, then something went really wrong.
It seems that this works sometimes, and sometimes not, on the same operation. Depending on how long I let the operation run before I hit Alt-. :)
This works in a workspace: | a b c | a := { 1 }. b := { a }. a at: 1 put: b. c := a veryDeepCopy.
But this doesn't: a := { 1 }. b := { a }. a at: 1 put: b. c := a veryDeepCopy.
Actually both of this works in Pharo I have installed... It was a little confusing to have 2 deep copy methods :) But thanks for clarification.
There are other things you can't do with such objects, like printing.
I can understand why this doesn't work... I played a little with this and managed to make this work, but then the array has to loose its self evaluating aspect... And it probably broke everything else :-D But it was useful exercise :)
Since the current code doesn't handle recursive structures, there's probably none in the image, and it still works. This makes me think that recursive structures are not that important in smalltalk. Fixing all the issues properly and without performance penalty may take a lot of effort.
It seems that they are supported after all, just the operation set on them is limited... :) Thank you again, Viktor