I think the issue is more that you cannot assume the original block starts at the given pointer. I would actually rename the flag "canExtend", because block ownership is not necessarily the condition we care about. Some future version may be able to figure out how to extend properly with a passed-in block.