Typed block enumeration on collections