By using unsafePerformIO and disallowing inlining, it guaranteed that the file was only read and parsed once. Whenever the `interfaces` value was used, it was just a value, not an operation that needs to read from disk. Does that clarify? I may be mistaken about the behavior of the new way.