Surely moving the extent around would invite out of bounds access - the actual allocation is no larger than it was.

Note that set_min reinterprets the host pointer as a different point in the coordinate system, it *doesn't* do ROI. If you want a way to do ROI we could add that. It would move the buffer_t host pointer as well as the buffer_t min and extent.