Changed Tuple base pointer to special BasePtr type
* Eliminates need for storing base pointers as uintptr_t which was not what I consider to be a good style
* Use of a tagged union as the base pointer makes it clearer what the code intends to accomplish while keeping the possibility for a anchored_copy() member method