- better (and hopefully correct) implementation of __based pointer