As long as there's a default provided, a file that does not exist results in that default; that's by design. That same file existing but not permitted to be read is treated the exact same way, which may not be great. The caller might expect the file to be included (with load_name, primarily), where confidence ignoring that file is a bit of a surprise. Surprises are not good, here.