Hook called for each normalize.coll.Collection, after mapping over
        each of the items in the collection.

        The default implementation calls
        :py:meth:`normalize.coll.Collection.tuples_to_coll` with
        ``coerce=False``, which just re-assembles the collection into a native
        python collection type of the same type of the input collection.

        args:

            ``result_coll_generator=`` *generator func*
                Generator which returns (key, value) pairs (like
                :py:meth:`normalize.coll.Collection.itertuples`)

            ``coll_type=``\ *CollectionType*
                This is the :py:class:`normalize.coll.Collection`-derived
                *class* which is currently being reduced.

            ``visitor=``\ *Visitor*
                Context/options object

def aggregate(self, mapped_coll_generator, coll_type, visitor):
        """Hook called for each normalize.coll.Collection, after mapping over
        each of the items in the collection.

        The default implementation calls
        :py:meth:`normalize.coll.Collection.tuples_to_coll` with
        ``coerce=False``, which just re-assembles the collection into a native
        python collection type of the same type of the input collection.

        args:

            ``result_coll_generator=`` *generator func*
                Generator which returns (key, value) pairs (like
                :py:meth:`normalize.coll.Collection.itertuples`)

            ``coll_type=``\ *CollectionType*
                This is the :py:class:`normalize.coll.Collection`-derived
                *class* which is currently being reduced.

            ``visitor=``\ *Visitor*
                Context/options object
        """
        return coll_type.tuples_to_coll(mapped_coll_generator, coerce=False)