added documentation in collections.hpp