code: 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.')
docs: 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.