docs: def closest_leaf_to_root(self):
          '''Return the leaf that is closest to the root and the corresponding distance. Edges with no length will be considered to have a length of 0
  
          Returns:
              ``tuple``: First value is the closest leaf to the root, and second value is the corresponding distance
          '''
          best = (None,float('inf')); d = dict()
          for node in self.traverse_preorder():
              if node.edge_length is None:
                  d[node] = 0
              else:
                  d[node] = node.edge_length
              if not node.is_root():
                  d[node] += d[node.parent]
              if node.is_leaf() and d[node] < best[1]:
                  best = (node,d[node])
          return best