I've never heard of a good argument for this as compared to a capacity, length, and data struct.
If you have a start and end pointer and you move either one, you don't know what the original size of the allocation was.
If you have a start and end pointer and you move either one, you don't know what the original size of the allocation was.