docs: def remove(self, prefix, name):
          """
          Remove a path from the tree
  
          prefix is a tuple of the parts in the dirpath
  
          name is a string representing the name of the file itself.
  
          Any empty folders from the point of the file backwards to the root of
          the tree is removed.
          """
          tree = self.cache.get(prefix, empty)
          if tree is empty:
              return False
  
          if name not in tree.files:
              return False
  
          tree.files.remove(name)
          self.remove_folder(tree, list(prefix))
  
          return True