How Developers Use Dynamic Features of Programming Languages: Smalltalk