Why did Rob use intptr_t here?  The only thing I can see is that he is storing it in a pointer field, but surely that doesn't justify needing intptr_t?