String extend [ beginsWith: aString [ | res | res := self indexOf: aString matchCase: false startingAt: 1. res ifNil: [^false]. ^ res first = 1 ] includesSubString: subString [ | res | res := self indexOf: subString matchCase: false startingAt: 1. res ifNil: [^false]. ^ res first >= 1 ] ] Symbol extend [ value: anObject [ ^anObject perform: self ] ] Character extend [ sameAs: aChar [ ^self asLowercase = aChar asLowercase. ] ]