some simplifications enabled by FromPointerBuilder and FromPointerReader