Later on this will be useful when printing diagnostics with source code snippets as context.
The returned file objects are not actually functional yet, but this establishes the interface.