fn retry<T>(f: impl FnMut() -> Result<T, i32>) -> Result<T, i32>
Runs a lookup again while it finds a symlink swapped in since the walk.