Working with collections seems to be one of the most common tasks for a programmer. As a result, every modern language tries to make this as easy and clean as possible. Fast enumeration and blocks are great examples of how language support can make collection operations cleaner.