def values_at(self, depth):
        """
        Iterate values at specified depth.
        """
        if depth < 1:
            yield self
        else:
            for dict_tree in self.values():
                for value in dict_tree.values_at(depth - 1):
                    yield value