If we want to support #28 and potentially non-inlined FS, we can't make the signature have the assumption that you target a specific file. Instead, we need an output directory, in which for the vast majority of programs there will be only one file.