posix() :: File.posix()
tree() :: map()
for_path(String.t()) :: {:ok, tree()} | {:error, posix() | :root_manifest}