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.