public function insertByAna(\Closure $unfolder, $start_value) {
        $insert = FixedFDirectory::ana($unfolder, $start_value);

        if ($insert->isFile()) {
            throw new \LogicException("Expected generated root node to be a directory, not a file.");
        }

        $inserter = array();
        $inserter[0] = function($path, FixedFDirectory $directory) use (&$inserter) {
            foreach ($directory->contents() as $content) {
                $new_path = $path."/".$content->name();
                if ($content->isFile()) {
                    $this->filesystem()->write($new_path, $content->content());
                }
                else {
                    $this->filesystem()->createDir($new_path);
                    $inserter[0]($new_path, $content);
                }
            } 
        };
        $inserter[0]($this->path(), $insert);
    }