pub fn add_path<Path: IntoIterator>(&mut self, path: Path)
    where
        Path::Item: Index,
    {
        self.root.add_path(path, self.size);
        self.size += 1;
    }
we build tree and return value according by the order of path.
Allow the repeated path.
src/pointer/tree.rs