I feel like it's because we want left != right when we exist the loop, is that correct? Also wondering can we use left = mid and right = mid in template #1?
left = mid
right = mid