def _next_merge(merge_node):
    """
    Gets a node that has only leaf nodes below it. This table and
    the ones below are ready to be merged to make a new leaf node.

    """
    if all(_is_leaf_node(d) for d in _dict_value_to_pairs(merge_node)):
        return merge_node
    else:
        for d in tz.remove(_is_leaf_node, _dict_value_to_pairs(merge_node)):
            return _next_merge(d)
        else:
            raise OrcaError('No node found for next merge.')
def _next_merge ( merge_node ) : if all ( _is_leaf_node ( d ) for d in _dict_value_to_pairs ( merge_node ) ) : return merge_node else : for d in tz . remove ( _is_leaf_node , _dict_value_to_pairs ( merge_node ) ) : return _next_merge ( d ) else : raise OrcaError ( 'No node found for next merge.' )
Gets a node that has only leaf nodes below it. This table and
    the ones below are ready to be merged to make a new leaf node.