int64_t and uint64_t are apparently long long on Mac OS, so our current formatting with a single l is insufficient for that system. This means that compilation on Mac OS fails unless the user adds in the extra l for each line where a compile error occurs.
But on Linux, these types are long so we can't just simply replace each l with ll -- we're going to need to use the PRI macros to ensure that the right formatting is applied for each operating system.