apparently mac is fine with size_t and uint64_t being two separate things but not linux