s@(Sequence traits) flatten [ [| :out | s flattenOn: out] writingAs: s ]. s@(Sequence traits) flattenOn: w@(WriteStream traits) [ s do: [| :value | (value is: s) ifTrue: [value flattenOn: w] ifFalse: [w nextPut: value]]. ].