refactor: portabilization (uint64_t -> uintptr_t)
std::uintptr_t is special
unsigned integer type capable of holding a pointer to void.
the implementation determines this correctly for itself.
std::uintptr_t is potentially better than std::uint64_t for storing pointer value.