#class(#pointer) Array(Collection) { #method size { ^self basicSize. } #method at: anInteger { ^self basicAt: anInteger. } #method at: anInteger put: aValue { ^self basicAt: anInteger put: aValue. } #method first { ^self at: 1. } #method last { ^self at: self size. } #method do: aBlock { 1 to: self size do: [:i | aBlock value: (self at: i)]. } } #class(#character) String(Array) { } #class(#character) Symbol(Array) { }