port Point* to the tagged API

and fix some bugs along the way.