A port of Smalltalk collection enumeration protocols to Objective-C