We visit all `File` and `Directory` objects here. Is that the intent? The comment above mentions just `File`.