There needs to be a method, something, like, slurpLogicalFile, that takes a string of a filename and calls slurp2  (which should probably be renamed slurpPhysicalFile) on the appropriate file, depending on whether .kore exists or not. And then slurpPhysicalFile should only ever call slurpLogicalFile on its dependencies.