In DataBuilder& operator=(DataBuilder&& other), this line computes the start _unwrittenSpaceCursor based on the start of _buf.
_unwrittenSpaceCursor = {_buf.get(), _buf.get() + other.size()};
This is incorrect as the start of _unwrittenSpaceCursor needs to be offset by size.
This was discovered during the IAM Protocol POC.