> # As an idiom Array#[pos,len]= works ok, but have couple of traps. First, 
> it autoflattens.
> I have a generic terminology question about the use of "autoflatten" in 
> Ruby and other languages (e.g. Perl, Scheme, Python, etc.). Does anyone 
> know offhand if "(auto)flatten" generally means "completely flatten all 
> levels of nesting" or "just flatten the shallowest level of nesting"?

I don't recall seeing "autoflatten". In the case of Array#flatten though,
it is a deep flattening, and using that default meaning of the word, I can
assure you that Array#[]= does not "flatten". Array#join does "flatten" 
first but acts lightly with referential loops (puts "[...]" instead of
raise), just like Array#inspect does. 

(Perl has no notion of "flatten" in the language or in the base
libraries, afaik)

matju