Walk to ADDRESS, creating nodes if necessary, and set the data
        there to UPDATER(data).

        Arguments:
            address (str): the address to be updated

def update(self, address, updater, prune=False):
        '''
        Walk to ADDRESS, creating nodes if necessary, and set the data
        there to UPDATER(data).

        Arguments:
            address (str): the address to be updated
        '''

        node = self._get_or_create(address)

        node.data = updater(node.data)

        if prune:
            node.children.clear()