This project uses git submodules Run immediately after cloning: git submodule update --init
Your loop bodies and if predicates become reusable blocks, fine-grained code reuse points with which you can assemble larger systems.
Most methods return chainable
NSEnumerators, so you can map, then add filtering, then add breaking, and still use a fast enumeration for loop (of course, you could always just reduce or enumerate it). (A more complex example).
Arrays, sets, and enumerators use the same API, [so your blocks can interoperate, unlike foundation block enumeration)][share-blocks].
Although you can easily reduce an array to a dictionary, there is a convenience method to do it for you. Foundation APIs allow you to convert an enumerator to an array, but HBCollections gives you convenience methods to convert to a mutable array, set, and mutable set.