code: def merge_paths(paths, weights=None):
      
      G = make_paths(paths, weights=weights)
      G = reduce_paths(G)
      return G
docs: Zip together sorted lists.
  
      >>> paths = [[1, 2, 3], [1, 3, 4], [2, 4, 5]]
      >>> G = merge_paths(paths)
      >>> nx.topological_sort(G)
      [1, 2, 3, 4, 5]
      >>> paths = [[1, 2, 3, 4], [1, 2, 3, 2, 4]]
      >>> G = merge_paths(paths, weights=(1, 2))
      >>> nx.topological_sort(G)
      [1, 2, 3, 4]